ci: consolidate PR workflows into one CI workflow with an all-green gate - #930
Merged
Conversation
Consolidated the PR-check workflows (build, build-matrix, lint, test, console, screenshots) into a single ci.yml. Each former workflow is now a job carrying its own permissions block, and its steps, matrices, caches, and secrets are preserved verbatim. A final "All checks green" aggregator job (if: always(), needs: every other job) fails if any dependency reported failure or cancelled, so a single required check can gate merges. CodeQL analysis is intentionally left as a separate workflow (codeql-analysis.yml) and is untouched. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
✅ Deploy Preview for eyesbound ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Owner
Author
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
2026-08-20T12:05:50.739Z-desktopPage1140x640-b6bb23b.jpeg2026-08-20T12:05:50.739Z-desktopPage1280x720-b6bb23b.jpeg2026-08-20T12:05:50.739Z-desktopPage1920x1080-b6bb23b.jpeg2026-08-20T12:05:50.739Z-desktopPage540x405-b6bb23b.jpeg2026-08-20T12:05:50.739Z-desktopPage600x450-b6bb23b.jpeg2026-08-20T12:05:50.739Z-desktopPage720x540-b6bb23b.jpeg2026-08-20T12:05:50.739Z-desktopPage960x720-b6bb23b.jpeg |
Console Logsℹ️ Info |
Bundle ReportBundle size has no change ✅ |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #930 +/- ##
=======================================
Coverage 99.46% 99.46%
=======================================
Files 33 33
Lines 373 373
Branches 89 89
=======================================
Hits 371 371
Misses 2 2 ☔ View full report in Codecov by Harness. |
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.








What
Consolidates the PR-check GitHub Actions workflows into a single
ci.yml, each former workflow becoming a job, plus a final All checks green aggregator job so a single required check can gate merges.Folded into
ci.yml(each is now a job)build.yml->buildbuild-matrix.yml->build-matrixlint.yml->linttest.yml->testconsole.yml->consolescreenshots.yml->screenshotsSteps, matrices, caches, secrets, and each workflow's top-level
permissionsblock are preserved verbatim on the corresponding job.Aggregator
A final
all-greenjob named All checks green runs withif: always(),needs:every other job, and fails if any need result isfailure/cancelled(verbatim from the validated sibling-repo template). Point branch protection at this one check to gate merges.Left separate (untouched)
codeql-analysis.yml— CodeQL keeps its own workflow (own schedule +security-events: write).Notes / deviations
push: [main]+pull_request: [opened, reopened, synchronize, closed]per the template.build-matrixlabeledtrigger dropped: the originalbuild-matrix.ymlalso triggered onlabeledso that adding thedependabotlabel to an existing PR would start it. The unified trigger omitslabeled, so build-matrix now starts on open/reopen/sync of a PR that already carries thedependabotlabel. Itsif: contains(... 'dependabot')guard is otherwise preserved.console/screenshotswaits preserved as-is: they wait on the external Netlify check (fountainhead/action-wait-for-checkonPages changed - eyesbound) thenjakepartusch/wait-for-netlify-action(waitFor200). There is no build/preview job in this repo that produces that URL, so the existing wait/url logic is kept verbatim and NOT replaced withneeds:.console/screenshotsbranches: [main]PR filter dropped: the unifiedpull_requesttrigger has no branch filter, so these now also run on PRs targeting non-mainbranches (in practice PRs targetmain).permissions: {}: unlike the template, the top level sets nopermissions.build/build-matrix/testhad no explicit permissions and relied on the repo-default token scope; forcing{}would stripcontents: readand breakactions/checkout. Jobs that had explicit permissions (lint,screenshots:write-all;console:pull-requests: write) keep them.concurrency: gh-pagesblock omitted: the template's concurrency group serialises gh-pages preview deploys; eyesbound deploys via Netlify and has no gh-pages writer, so the block does not apply.Do not merge yet — for review.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com