Skip to content

fix(ci): restore documented CI job graph in test.yml - #51

Merged
pythoninthegrass merged 2 commits into
mainfrom
task-351
Sep 14, 2026
Merged

fix(ci): restore documented CI job graph in test.yml#51
pythoninthegrass merged 2 commits into
mainfrom
task-351

Conversation

@pythoninthegrass

Copy link
Copy Markdown
Collaborator

Summary

  • build and playwright-tests had drifted to gating on rust/vitest-tests (and playwright-tests for build) in addition to deno-lint, producing a serial rust -> playwright -> build chain that docs/builds.md never documented and that costs up to ~40 min of wall-clock per run.
  • Narrows build's needs: to [deno-lint] and playwright-tests' needs: to [changes, deno-lint] — matching what docs/builds.md's "Test Workflow Dependency Graph" section already claimed.
  • Updates that same doc section, which was stale in two ways: it said "five jobs" (now eight, after zig/shadow-diff/changes were added) and listed playwright-tests as fully independent when it was already gated on deno-lint.

Why this is safe

Neither build nor playwright-tests consumes artifacts from rust or vitest-tests: build runs its own per-platform cargo check, and playwright-tests runs against a Vite preview build with mocked IPC.

Before/after (TASK-351 AC#3, AC#4)

Real PR-run data pulled via gh run view --json jobs, not synthetic:

Before (run 34811970745, TASK-355.6's PR, pre-fix graph):

Job Start End Result
Deno Lint and Format Check 06:05:14 06:05:23 success
Rust Lint, Format, and Test 06:05:06 06:06:53 failure (pre-existing mt-zig-core staging bug, unrelated to this change)
Playwright E2E Tests 06:06:54 06:06:53 skipped — cascaded from rust/vitest-tests failure
Build (matrix) 06:06:54 06:06:54 skipped — cascaded from rust/vitest-tests/playwright-tests

build and playwright-tests never ran at all — not delayed, dropped. That's the actual cost of the drifted graph: a single unrelated rust job failure silences build/E2E signal for the whole PR.

After: see this PR's own run once CI completes — build and playwright-tests should now start immediately after deno-lint succeeds regardless of rust's outcome.

Test plan

  • actionlint .github/workflows/test.yml — clean
  • This PR's own Actions run confirms build starts within ~3 min of deno-lint completing (AC#3)
  • docs/builds.md dependency graph re-verified against test.yml post-merge (AC#5)

build and playwright-tests both drifted to gating on rust/vitest-tests
in addition to deno-lint, producing a serial rust -> playwright ->
build chain that docs/builds.md never described. Neither job consumes
artifacts from rust or vitest-tests, so narrow both back to what the
docs already document: deno-lint alone gates build, and deno-lint plus
the frontend path filter gates playwright-tests.

Also updates the dependency-graph doc itself, which still said "five
jobs" and listed playwright-tests as fully independent -- stale since
zig, shadow-diff, and changes were added and playwright-tests already
depended on deno-lint.
@pythoninthegrass
pythoninthegrass merged commit a9c794e into main Sep 14, 2026
3 of 7 checks passed
@pythoninthegrass
pythoninthegrass deleted the task-351 branch September 14, 2026 07:00
pythoninthegrass added a commit that referenced this pull request Sep 14, 2026
…ements

Records per-job wall-clock from PR #51's run, cold/warm task build:timings
results, cargo tree dependency count, critical-path analysis, and a
no-go recommendation for TASK-357 on CI-wall-clock grounds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant