Repository navigation
ci: speed up PR validation without reducing coverage - #106
Merged
Merged
Conversation
Keep production Pages deployments serialized while canceling superseded PR validation and CodeQL scans. Install only Chromium headless shell for the unchanged desktop and mobile tests. Refresh the transitive Zod resolution to clear the audit finding surfaced by the locked install.
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The scoped changes preserve test and scan coverage and production behavior, with successful CI validation and no unresolved findings.
No open issues 🎉
What changed in this PR
This PR reduces redundant CI work and browser setup time while preserving validation coverage and production deployment serialization.
Changes:
- Isolate Pages validation by PR and cancel superseded Pages and CodeQL PR runs.
- Install only Chromium’s headless shell and update contributor instructions.
- Refresh the transitive Zod dependency to address the reported audit finding.
| File | Description |
|---|---|
package-lock.json |
Updates transitive Zod to 4.6.7. |
CONTRIBUTING.md |
Documents headless-shell setup and workflow concurrency behavior. |
.github/workflows/deploy.yml |
Isolates PR validation and reduces browser downloads while retaining production serialization. |
.github/workflows/codeql.yml |
Cancels superseded PR scans while keeping non-PR scans independent. |
Review effort: Balanced (auto)
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.
Changes
pagesgroup serialized and non-interruptible.Performance evidence
Baseline: three recent successful PR runs (1, 2, 3). First optimized sample: this PR's Pages run, on Node.js 22.23.3 and Ubuntu 24.04.
The latest baseline main run downloaded an unused 191.1 MiB full Chromium archive. The optimized Linux run downloads only headless shell and FFmpeg, eliminating that payload without changing browser projects or assertions.
These are observations from one optimized run, not a controlled benchmark. Queue-isolation and obsolete-run cancellation savings are unmeasured. Production deployment serialization is deliberately retained. The public repository's timing API reports zero billable runner milliseconds, so no billing savings are claimed.
No end-to-end CI improvement is claimed: CodeQL runner logs finished at 16:48:21/16:48:36 UTC, but GitHub published successful job completion only at 16:58:52/16:57:11 UTC. Metadata requests intermittently returned HTTP 502 during that delay. Both analyses ultimately passed; their uploaded results for this PR's merge revision contain no errors or warnings.
Validation and current status
npm ci: succeeds; audit reports zero vulnerabilities.actionlintfor both workflows andgit diff --checkpass. Changes were reviewed locally before pushing.Notices: GitHub announces the
ubuntu-latestmigration to Ubuntu 26; the validated run still used Ubuntu 24.04. Local Node.js 26/npm 11.20 emits an optional macOSfseventsinstall-script approval warning, absent from Linux CI. No runner or install-script policy was changed.