ux(status-tab): add "Latest Reflection Assessment" block #233
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| # Force JavaScript-based actions onto Node 24 (workaround for the | |
| # Node 20 deprecation warning on `actions/upload-artifact@v5` etc.). | |
| # GitHub's announcement: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/ | |
| # Drop this once all the actions we use ship a Node 24 default. | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| # The typecheck references two gitignored generated modules: | |
| # * packages/server/src/web-assets.generated.ts (item 5.4) -- produced | |
| # by `bun run build:web` | |
| # * packages/core/src/help-content.generated.ts (item 5.8) -- produced | |
| # by `bun run scripts/embed-help-content.ts` (also called from | |
| # scripts/build-cli.sh during release builds) | |
| # Both are regenerated per build, so CI must produce them before | |
| # typechecking. This step was missing the help-bundle generator | |
| # before -- CI had been silently failing on main since v0.15.0 because | |
| # of the missing import target in packages/core/src/help.ts. | |
| - name: Build web bundle (generates web-assets.generated.ts) | |
| run: bun run build:web | |
| - name: Embed help bundle (generates help-content.generated.ts) | |
| run: bun run scripts/embed-help-content.ts | |
| - name: Type check | |
| run: bun run typecheck | |
| - name: Run tests | |
| run: bun run test | |
| build: | |
| needs: test | |
| # Single Linux runner: the CLI tarball is platform-independent (the | |
| # heavy native deps live in per-platform @cerefox/codefactory-native-<platform> | |
| # packages, built only at release time -- see release.yml). This job | |
| # smokes the build pipeline on every PR so a broken build-cli.sh | |
| # surfaces here instead of mid-release. | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Build CLI tarball (smoke) | |
| run: scripts/build-cli.sh v0.0.0-dev | |
| - name: Upload CLI tarball | |
| uses: actions/upload-artifact@v5 | |
| # The upload is debug-only -- the build itself proves the tarball | |
| # compiled. If GitHub's artifact-storage quota is hit (account- | |
| # level limit, recalculates every 6-12 hours), we don't want the | |
| # entire build job to fail just because we couldn't stash the | |
| # smoke tarball for later inspection. Treat the upload as a | |
| # best-effort post-step. | |
| continue-on-error: true | |
| with: | |
| name: cfcf-cli-tarball | |
| path: | | |
| dist/cfcf-*.tgz | |
| dist/cfcf-*.tgz.sha256 | |
| # 1 day is enough -- this is a smoke artifact only useful for | |
| # debugging a failed build. Reducing from 7d helps with the | |
| # GitHub Actions artifact-storage quota (we hit it 2026-04-27; | |
| # see decisions-log). | |
| retention-days: 1 |