Skip to content

ci: run a single Node version for integration tests on PR pushes#1883

Open
kriszyp wants to merge 1 commit into
mainfrom
kris/ci-integration-matrix-trim
Open

ci: run a single Node version for integration tests on PR pushes#1883
kriszyp wants to merge 1 commit into
mainfrom
kris/ci-integration-matrix-trim

Conversation

@kriszyp

@kriszyp kriszyp commented Jul 21, 2026

Copy link
Copy Markdown
Member

What

Trims integration-test CI cost on PR pushes without losing cross-version coverage:

  • PR pushes now run the integration suite on a single representative Node version (24) instead of the full 22/24/26 matrix — dropping the run-integration-tests fan-out from 18 shards to 6.
  • The full 22/24/26 matrix still runs on pushes to main/release branches, and on a new nightly schedule (0 7 * * *).
  • workflow_dispatch behavior is unchanged (still respects the node-version input).

Windows/Bun/uWS variant jobs are untouched. Shard counts are unchanged (already 6-way).

Why

Every PR push was paying for the full three-Node matrix, tripling integration compute and stretching the wall-clock that CI-monitoring sessions wait on. Cross-Node regressions are still caught on main and nightly; per-push we only need one representative version.

Risk

Low. A Node-version-specific regression would surface on the next main push / nightly rather than on the PR push itself — an acceptable trade for the dev-loop speedup. The change is a conditional in the existing generate-node-version-matrix job.

— KrAIs (Claude Opus 4.8)

🤖 Generated with Claude Code

PR pushes were building and testing the full Node 22/24/26 x 6-shard
integration matrix on every push, tripling CI cost/latency for a
signal that rarely differs across Node versions during review.

Trim PR pushes to Node 24 only (representative). Keep the full matrix
on push to main/release branches, and add a nightly cron (07:00 UTC)
so regressions on 22/26 are still caught daily rather than only at
merge time.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kriszyp
kriszyp requested review from Ethan-Arrowood and heskew July 21, 2026 11:10
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@claude

claude Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Reviewed; no blockers found.

@kriszyp
kriszyp marked this pull request as ready for review July 21, 2026 11:49

@Ethan-Arrowood Ethan-Arrowood left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Workflow logic traced across all four triggers — PR pushes run Node 24 only, full 22/24/26 matrix retained on main + nightly, so coverage is deferred, not lost. Confirmed the integration jobs aren't required status checks, so the matrix trim won't strand PRs on a check that never reports.

Non-blocking follow-up: this same Node-matrix trim is duplicated in harper-pro#601 — worth extracting into a shared reusable workflow so the two repos don't drift.

sent with Claude Opus 4.8

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.

2 participants