diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b4d4d96..7a65359 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,70 +44,3 @@ jobs: - name: Build run: npm run build - - # Smoke test only: verify desktop packaging still works on pull requests. - # Full multi-platform release artifacts are built by desktop-release.yml on release. - desktop: - name: Desktop smoke test (${{ matrix.label }}) - needs: build - if: github.event_name == 'pull_request' - runs-on: ${{ matrix.runner }} - strategy: - fail-fast: false - matrix: - include: - - label: Linux x64 - runner: ubuntu-22.04 - target_os: linux - target_arch: x64 - electron_target: "--linux AppImage deb --x64" - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: npm - cache-dependency-path: | - package-lock.json - packages/desktop/package-lock.json - - - name: Install uv - uses: astral-sh/setup-uv@v3 - - - name: Install web UI dependencies - run: | - npm ci --ignore-scripts - npm rebuild node-pty - - - name: Build web UI - run: npm run build - - - name: Keep production web UI dependencies only - run: npm prune --omit=dev --no-audit --no-fund - - - name: Install desktop dependencies - run: npm ci --prefix packages/desktop --no-audit --no-fund - - - name: Prepare bundled Python - env: - TARGET_OS: ${{ matrix.target_os }} - TARGET_ARCH: ${{ matrix.target_arch }} - run: npm --prefix packages/desktop run prepare:python - - - name: Build desktop artifact - run: npm --prefix packages/desktop run dist -- ${{ matrix.electron_target }} --publish never - - - name: Upload desktop artifacts - uses: actions/upload-artifact@v4 - with: - name: desktop-${{ matrix.target_os }}-${{ matrix.target_arch }} - path: | - packages/desktop/release/*.AppImage - packages/desktop/release/*.deb - packages/desktop/release/latest*.yml - if-no-files-found: error - retention-days: 7 diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 74d5020..d6a7f5b 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -70,8 +70,9 @@ Frontend rules: Desktop packaging is intentionally split: -- Pull requests run a Linux desktop smoke test in `.github/workflows/build.yml`. -- Published releases and manual dispatches run `.github/workflows/desktop-release.yml`. +- Pull requests run the web UI build and tests in `.github/workflows/build.yml`. +- Published releases and manual dispatches run desktop artifact packaging in `.github/workflows/desktop-release.yml` + and `.github/workflows/desktop-manual-build.yml`. - Each release matrix target uploads only the artifact globs for its own platform. Do not make a Windows job require macOS `.dmg` files or a Linux job require diff --git a/docs/harness/validation.md b/docs/harness/validation.md index 5371b2c..f860189 100644 --- a/docs/harness/validation.md +++ b/docs/harness/validation.md @@ -33,12 +33,12 @@ npm run build ## CI Mapping -- Build workflow: installs dependencies, runs coverage, builds production assets, - then runs a Linux desktop smoke test on pull requests. +- Build workflow: installs dependencies, runs coverage, and builds production + assets on pushes and pull requests. - Playwright workflow: runs browser e2e tests. - NPM lockfile workflow: verifies `package-lock.json` is synchronized. -- Desktop release workflow: builds and uploads platform-specific desktop artifacts - for release tags. +- Desktop release and manual desktop build workflows build and upload + platform-specific desktop artifacts. - Docker workflow: builds and publishes release images. ## Release Workflow Guardrail