diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd5c80661a6..6e23f4367fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,6 +33,7 @@ jobs: # (all lanes true) so post-merge validation is never weakened. # ───────────────────────────────────────────────────────────────────── detect: + name: Detect affected areas runs-on: ubuntu-latest outputs: python: ${{ steps.classify.outputs.python }} @@ -54,12 +55,15 @@ jobs: # Skipped workflows (if condition is false) don't spin up runners. # ───────────────────────────────────────────────────────────────────── tests: + name: Python tests needs: detect if: needs.detect.outputs.python == 'true' uses: ./.github/workflows/tests.yml with: slice_count: 8 + lint: + name: Python lints needs: detect if: needs.detect.outputs.python == 'true' uses: ./.github/workflows/lint.yml @@ -67,40 +71,48 @@ jobs: event_name: ${{ needs.detect.outputs.event_name }} typecheck: + name: TypeScript needs: detect if: needs.detect.outputs.frontend == 'true' uses: ./.github/workflows/typecheck.yml docs-site: + name: Docs Site needs: detect if: needs.detect.outputs.site == 'true' uses: ./.github/workflows/docs-site-checks.yml history-check: + name: Deny unrelated histories needs: detect if: needs.detect.outputs.event_name == 'pull_request' uses: ./.github/workflows/history-check.yml contributor-check: + name: Check contributors needs: detect if: needs.detect.outputs.python == 'true' uses: ./.github/workflows/contributor-check.yml uv-lockfile: + name: Check uv.lock needs: detect uses: ./.github/workflows/uv-lockfile-check.yml docker-lint: + name: Lint Docker scripts needs: detect if: needs.detect.outputs.docker_meta == 'true' uses: ./.github/workflows/docker-lint.yml docker: + name: Build&Test Docker image needs: detect if: needs.detect.outputs.python == 'true' || needs.detect.outputs.frontend == 'true' || needs.detect.outputs.docker_meta == 'true' uses: ./.github/workflows/docker.yml supply-chain: + name: Supply-chain scan needs: detect if: needs.detect.outputs.event_name == 'pull_request' && (needs.detect.outputs.scan == 'true' || needs.detect.outputs.deps == 'true' || needs.detect.outputs.mcp_catalog == 'true') uses: ./.github/workflows/supply-chain-audit.yml @@ -111,7 +123,7 @@ jobs: mcp_catalog: ${{ needs.detect.outputs.mcp_catalog == 'true' }} osv-scanner: - needs: detect + name: OSV scan uses: ./.github/workflows/osv-scanner.yml # ───────────────────────────────────────────────────────────────────── diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index aee08067739..c2dc9de9cf3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,12 +18,13 @@ concurrency: jobs: generate: + name: "Generate slices" runs-on: ubuntu-latest outputs: slices: ${{ steps.matrix.outputs.slices }} slice_count: ${{ steps.matrix.outputs.slice_count }} steps: - - name: Generate slice matrix + - name: Generate test slices id: matrix run: | COUNT="${{ inputs.slice_count }}" @@ -32,6 +33,7 @@ jobs: echo "slice_count=$COUNT" >> "$GITHUB_OUTPUT" test: + name: Run tests slice needs: generate runs-on: ubuntu-latest timeout-minutes: 30 diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml index 1c28bd04cd1..dd2906629b0 100644 --- a/.github/workflows/typecheck.yml +++ b/.github/workflows/typecheck.yml @@ -6,6 +6,7 @@ on: jobs: typecheck: + name: Check TypeScript runs-on: ubuntu-latest strategy: matrix: @@ -22,8 +23,7 @@ jobs: # native builds. Skipping install scripts drops node-pty's node-gyp # header fetch — the transient flake that killed this job pre-`tsc` — and # is faster. retry covers the remaining registry blips. - - - uses: ./.github/actions/retry + - uses: ./.github/actions/retry with: command: npm ci --ignore-scripts - run: npm run --prefix ${{ matrix.package }} typecheck @@ -35,6 +35,7 @@ jobs: # users build apps/desktop from source on install/update. Run the real # `vite build` here so that class of break fails in CI instead. desktop-build: + name: Build desktop app runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -44,8 +45,7 @@ jobs: cache: npm # Keep install scripts here: the production build may need node-pty's # native binary. retry handles the transient install-time fetch flakes. - - - uses: ./.github/actions/retry + - uses: ./.github/actions/retry with: command: npm ci - run: npm run --prefix apps/desktop build