Skip to content

chore(extension): version 0.1.0 — match the signed artifact #46

chore(extension): version 0.1.0 — match the signed artifact

chore(extension): version 0.1.0 — match the signed artifact #46

Workflow file for this run

name: ci
# Correctness gate on every push/PR to main. The blocking `test` job is fully
# headless (no browser, no network): type-check → hermetic pure verify tier →
# build (which proves BOTH the Vite bundle and the CLI+MCP node bundles) →
# CLI/MCP stdio handshakes against the built bundles. A broken commit can't reach
# a release tag (release.yml runs the same gate first).
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
- run: npm ci
- name: Type-check (svelte-check must be 0 errors)
run: npm run check
- name: Pure verify tier (hermetic — no network, no dev server)
run: node scripts/run-verifies.mjs --tier pure --jobs 4
- name: Upload verify summary
if: always()
uses: actions/upload-artifact@v4
with:
name: pure-verify-summary
path: test-results/summary.json
- name: Build (Vite bundle + dist/flux-cli.mjs + dist/flux-mcp.mjs)
run: npm run build
- name: Assert the packaged bundles were emitted
run: |
for f in dist/flux-cli.mjs dist/flux-mcp.mjs dist/slide-export-assets.json; do
test -f "$f" || { echo "::error::missing build artifact $f"; exit 1; }
done
- name: Bundle handshakes (CLI + MCP over stdio against the built bundles)
run: node scripts/run-verifies.mjs --tier bundle
# Browser gate (WS-7.2) — the FULL de-flaked ui tier (post sleep→condition
# conversion: 41 scripts, retryOnce on the known-sensitive ones). Currently
# OBSERVING: continue-on-error keeps it non-blocking until 5 consecutive
# green runs on main, then the flip is deleting the single line below (the
# plan's promotion condition — do not flip early, do not loosen a script to
# get there).
ui-gate:
runs-on: ubuntu-latest
continue-on-error: true # WS-7.2: DELETE THIS LINE after 5 consecutive green main runs
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
- run: npm ci
- uses: browser-actions/setup-chrome@v1
id: chrome
- name: Start the dev server
run: npm run dev &
- name: Wait for the dev server on :1420
run: npx wait-on tcp:127.0.0.1:1420 --timeout 120000
- name: Full ui tier
env:
FLUX_CHROME: ${{ steps.chrome.outputs.chrome-path }}
run: node scripts/run-verifies.mjs --tier ui
- name: Upload ui verify summary
if: always()
uses: actions/upload-artifact@v4
with:
name: ui-verify-summary
path: test-results/summary.json