chore(main): release 1.12.1 #46
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: GUI Tests | |
| on: | |
| pull_request: | |
| paths: | |
| - 'packages/gui/**' | |
| - 'pnpm-workspace.yaml' | |
| - 'pnpm-lock.yaml' | |
| - '.github/workflows/gui.yml' | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'packages/gui/**' | |
| - 'pnpm-workspace.yaml' | |
| - 'pnpm-lock.yaml' | |
| - '.github/workflows/gui.yml' | |
| jobs: | |
| gui: | |
| runs-on: ubuntu-latest | |
| # The GUI's orchestration core is pure Node/TS and tests run headless — no | |
| # Electron window is launched, so this lane needs no display server. | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # pnpm via Corepack — the pnpm/action-setup marketplace action isn't on this | |
| # repo's allowed-actions list (see pipeline-tests.yml). | |
| - name: Enable Corepack (pnpm) | |
| run: corepack enable | |
| - uses: actions/setup-node@v4 | |
| with: | |
| # 22, not 20: the test script uses `node --test "<glob>"`, and test-runner | |
| # glob support landed in Node 21 (matches init-wizard.yml). | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install dependencies | |
| # Skip the ~100 MB Electron binary download — typecheck needs only the | |
| # bundled types and the core tests never launch Electron. | |
| env: | |
| ELECTRON_SKIP_BINARY_DOWNLOAD: '1' | |
| run: pnpm install --frozen-lockfile | |
| - name: Lint | |
| run: pnpm --filter @flavian/gui lint | |
| - name: Typecheck | |
| run: pnpm --filter @flavian/gui typecheck | |
| - name: Run GUI unit tests | |
| run: pnpm --filter @flavian/gui test | |
| smoke: | |
| # Launches the built Electron app headlessly (Xvfb) and asserts it reaches the | |
| # setup view. Separate job because it needs the Electron binary + a display. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Enable Corepack (pnpm) | |
| run: corepack enable | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install dependencies | |
| # No ELECTRON_SKIP here — the smoke needs the real Electron binary. | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Electron runtime libraries + Xvfb | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y xvfb | |
| pnpm --filter @flavian/gui exec playwright install-deps chromium | |
| - name: Build GUI | |
| run: pnpm --filter @flavian/gui build | |
| - name: Smoke test (app launches and reaches the setup view) | |
| run: xvfb-run --auto-servernum pnpm --filter @flavian/gui smoke |