Repository navigation
chore: add required-checks gate workflow and CODEOWNERS - #1967
Conversation
Adds a single all-green check that waits for every other pull_request workflow run on the PR head commit and fails if any of them fails, so branch protection can require one check instead of ~90 job names. Assigns /.github/ to @cypress-io/app so workflow changes, including edits to the gate itself, can require code owner review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
What happens if https://github.com/cypress-io/github-action/actions/workflows/check-markdown.yml fails? This shouldn't stop a PR from merging because it can be caused by temporary external influences (like today when Ubuntu had a 7.5 hour major outage). |
|
The way this workflow is currently written, it would block the PR. We can still override that and merge the PR if need be though. Has this been a reoccurring problem? |
|
markdown link checks are a continual issue. It's the reason that it's a separate workflow. You can leave it the way you've planned, and see how often you need to get involved manually. Some failures are transient, others involve stale links that do need correction anyway. |
|
Thanks for the info! Yeah, I think leaving it as-is for now and see if an ignore list is needed in the future will be best. |
|
Failures can be listed with https://github.com/cypress-io/github-action/actions/workflows/check-markdown.yml?query=is%3Afailure You'll see how it goes in future. |
|
🎉 This PR is included in version 7.4.10 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Summary
A PR here runs ~95 checks (about 90 Actions jobs across ~30 workflow files, plus CLA, Snyk, Renovate and Cursor Bugbot). This adds a single gate check so branch protection can require one Actions check instead of listing every job.
.github/workflows/required-checks.yml: anall-greenjob that polls the workflow runs for the PR head commit (event: pull_request, excluding its own workflow) every 30s. It fails as soon as any run completes with a conclusion other thansuccess,neutralorskipped, and passes once all runs have completed. It works at the workflow-run level, so matrix legs,needschains and skipped jobs (e.g.release) are handled by each run's own conclusion. It uses onlyactions/github-script@v9withactions: read, and a new push to the PR cancels the previous gate run..github/CODEOWNERS: assigns/.github/to@cypress-io/app.pull_requestworkflows run from the PR's own copy of.github/workflows/(including fork PRs, after approval), so a PR could otherwise edit or shadow the gate.After merge (repo settings)
master:all-green(expected source: GitHub Actions),license/cla,security/snyk (Cypress Tools),license/snyk (Cypress Tools). The commit statuses are required directly so the gate doesn't race their late arrival..github/workflows/, and those would then wait for an@cypress-io/appapproval.Notes for reviewers
all-greenalso needs a re-run; it reads each run's latest attempt.check-markdownrun. The waiting path is first exercised live on this PR.🤖 Generated with Claude Code
Note
Low Risk
Changes are limited to GitHub Actions and ownership rules; no runtime application code, with only CI gating behavior at stake if the polling logic is wrong.
Overview
Adds a single branch-protection status check so repos no longer need to list dozens of individual Actions jobs on every PR.
The new
required-checksworkflow runs anall-greenjob that polls all otherpull_requestworkflow runs for the PR head SHA every 30s, treats only the latest run per workflow, and fails fast on any non-passing conclusion (success,neutral,skippedcount as pass). Concurrency cancels in-flight gate runs when the PR updates.CODEOWNERSassigns/.github/to@cypress-io/appso PRs cannot change or replace the gate workflow without owner review (PRs execute workflow files from the PR branch, including forks after approval).After merge, branch protection should require
all-greenplus external checks (CLA, Snyk) directly, and enable require review from code owners.Reviewed by Cursor Bugbot for commit 841d3c5. Bugbot is set up for automated code reviews on this repo. Configure here.