ci: shard examples/chat e2e into 4 parallel matrix jobs#521
Merged
Conversation
Goal: cut wall-time of `examples/chat — e2e` by running it across a 4-way matrix using Playwright's built-in --shard=N/M flag. Mirrors the cockpit fleet's matrix philosophy without restructuring the underlying e2e harness. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Self-review fixes: - Matrix uses numeric `shard: [1, 2, 3, 4]` rather than `'1/4'` strings, because GitHub Actions artifact names cannot contain `/`. - Explicit `--skip-nx-cache` preservation + `--` separator placement. - Trace artifact name templated to avoid same-name collision across matrix jobs (actions/upload-artifact@v4 errors on identical names). - Required-checks list spelled out by full check name. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two-task plan: (1) edit ci.yml's examples-chat-e2e job to use a 4-way shard matrix + Playwright --shard flag + templated artifact name; (2) push, open PR, verify per-shard wall-time on first CI run. Spec: docs/superpowers/specs/2026-05-21-examples-chat-e2e-shard-design.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Playwright's --shard=N/M flag auto-distributes the 18 spec files across 4 GitHub Actions matrix entries. Mirrors the cockpit fleet's matrix philosophy. Expected wall-time: ~6 min → ~2-3 min. - strategy.matrix.shard: [1, 2, 3, 4], fail-fast: false - name templated: examples/chat — e2e (1/4), (2/4), ... - --shard=N/4 passed through Nx executor's -- separator - Trace artifact templated examples-chat-e2e-trace-shard-N to avoid same-name collision in actions/upload-artifact@v4 Downstream needs: references (release aggregator, demo-deploy gate) unchanged — GitHub aggregates matrix results automatically. POST-MERGE ACTION ITEM: update GitHub branch protection required-checks list from 'examples/chat — e2e' to the 4 templated names. Spec: docs/superpowers/specs/2026-05-21-examples-chat-e2e-shard-design.md
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
2 tasks
blove
added a commit
that referenced
this pull request
May 21, 2026
PR #521 sharded the singular `examples/chat — e2e` job into a 4-way matrix. The singular check name is no longer reported, which would break any external reference (status badges, branch protection rules, deploy gates that read by name). This mirrors the existing `cockpit-e2e-summary` pattern (lines 334-345 — fan-in over the cockpit matrix): a no-op aggregator named `examples/chat — e2e` that gates on the matrix's aggregated result. Restores the singular check name without undoing the matrix. needs: [ci-scope, examples-chat-e2e] — ci-scope must be in needs for the if-guard to access its outputs (GitHub Actions only exposes needs.<job>.outputs for jobs in the explicit needs list). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/chat — e2eCI job into a 4-way matrix using Playwright's built-in--shard=N/Mflag.GitHub branch protection rules currently require the singular check
examples/chat — e2e. After this lands, that name no longer exists; the rule must be updated to require all four templated names:examples/chat — e2e (1/4)examples/chat — e2e (2/4)examples/chat — e2e (3/4)examples/chat — e2e (4/4)Until that update, future PR gates may fail to evaluate. Repo admin should update branch protection immediately after merge.
Test plan
examples/chat — e2e (N/4)matrix entries report success on this PRSpec:
docs/superpowers/specs/2026-05-21-examples-chat-e2e-shard-design.mdPlan:
docs/superpowers/plans/2026-05-21-examples-chat-e2e-shard.md🤖 Generated with Claude Code