Skip to content

ci: consolidate PR workflows into one CI workflow with an all-green gate - #930

Merged
Primajin merged 1 commit into
mainfrom
ci/consolidate-workflows
Aug 20, 2026
Merged

ci: consolidate PR workflows into one CI workflow with an all-green gate#930
Primajin merged 1 commit into
mainfrom
ci/consolidate-workflows

Conversation

@Primajin

Copy link
Copy Markdown
Owner

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 -> build
  • build-matrix.yml -> build-matrix
  • lint.yml -> lint
  • test.yml -> test
  • console.yml -> console
  • screenshots.yml -> screenshots

Steps, matrices, caches, secrets, and each workflow's top-level permissions block are preserved verbatim on the corresponding job.

Aggregator

A final all-green job named All checks green runs with if: always(), needs: every other job, and fails if any need result is failure/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

  • Trigger: unified to push: [main] + pull_request: [opened, reopened, synchronize, closed] per the template.
  • build-matrix labeled trigger dropped: the original build-matrix.yml also triggered on labeled so that adding the dependabot label to an existing PR would start it. The unified trigger omits labeled, so build-matrix now starts on open/reopen/sync of a PR that already carries the dependabot label. Its if: contains(... 'dependabot') guard is otherwise preserved.
  • console/screenshots waits preserved as-is: they wait on the external Netlify check (fountainhead/action-wait-for-check on Pages changed - eyesbound) then jakepartusch/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 with needs:.
  • console/screenshots branches: [main] PR filter dropped: the unified pull_request trigger has no branch filter, so these now also run on PRs targeting non-main branches (in practice PRs target main).
  • No top-level permissions: {}: unlike the template, the top level sets no permissions. build/build-matrix/test had no explicit permissions and relied on the repo-default token scope; forcing {} would strip contents: read and break actions/checkout. Jobs that had explicit permissions (lint, screenshots: write-all; console: pull-requests: write) keep them.
  • concurrency: gh-pages block 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

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>
@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for eyesbound ready!

Name Link
🔨 Latest commit d029e6c
🔍 Latest deploy log https://app.netlify.com/projects/eyesbound/deploys/6a86ed57672800000843ec28
😎 Deploy Preview https://deploy-preview-930--eyesbound.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 96
Accessibility: 100
Best Practices: 92
SEO: 100
PWA: 100
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@Primajin

Copy link
Copy Markdown
Owner Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown

Console Logs

ℹ️ Info

installingWorker ServiceWorker
Content is now available offline!

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.46%. Comparing base (22b946f) to head (d029e6c).
✅ All tests successful. No failed tests found.

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.
📢 Have feedback on the report? Share it here.

@Primajin
Primajin merged commit e5aa755 into main Aug 20, 2026
20 checks passed
@Primajin
Primajin deleted the ci/consolidate-workflows branch August 20, 2026 12:09
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