CI: add all-checks-passed gate job - #7
Closed
jnasbyupgrade wants to merge 1 commit into
Closed
Conversation
Adds a stable all-checks-passed job (needs: [test], if: always()) so branch protection has one required-status-check name that survives future job renames/additions, instead of requiring a real job name directly. Mirrors Postgres-Extensions/pg_count_nulls' current ci.yml pattern, including its self-check step that fails loudly if a new job gets added to `jobs:` without also being added to all-checks-passed's own `needs:` list. Also drops paths-ignore: '**.md' from both triggers: with it, a doc-only push/PR never runs this workflow at all, so a required all-checks-passed check would never report on one and would sit stuck Pending in branch protection forever rather than passing. test is one cheap Perl job with no matrix to skip for cost reasons, so there's no real tradeoff in just always running it -- same reasoning pg_count_nulls' own `changes` job documents for why it must run unconditionally. This PR only adds the job; it does not itself configure branch protection, since that's a live repo setting, not something a git merge can apply.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jnasbyupgrade
added a commit
that referenced
this pull request
Aug 9, 2026
Folds in #4 and #7 (both closed in favor of this PR): - #4's actions/checkout@v6 -> v7 bump on claude.yml and ci.yml's `test` job. Its bump to claude-code-review.yml's checkout step is superseded by this PR's earlier commit, which already rewrote that step to use v7 as part of removing the broken fork-checkout override entirely. - #7's all-checks-passed gate job in ci.yml (needs: [test], if: always(), fails on failure/cancelled -- a stable required-status-check name that survives future job renames) and dropping paths-ignore: '**.md' from both triggers, since a doc-only push/PR would otherwise never run this workflow at all and a required all-checks-passed check would sit stuck Pending forever instead of passing. Its new job's own checkout step is bumped to v7 too, for consistency with the rest of this commit. Branch protection requiring all-checks-passed is still a manual follow-up after this merges -- that's a live repo setting, not something a merge can apply. See the PR description's reminder.
Contributor
Author
4 tasks
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.
Have claude setup branch protection when this merges!
Summary
all-checks-passedjob (needs: [test],if: always()) as a single required-status-check name that survives future job renames/matrix changes, instead of requiring a real job name directly. MirrorsPostgres-Extensions/pg_count_nulls' currentci.ymlpattern, including its self-check step that fails loudly if a new job is ever added tojobs:without also being added toall-checks-passed's ownneeds:list.paths-ignore: '**.md'from both triggers. With it, a doc-only push/PR never runs this workflow at all -- so a requiredall-checks-passedcheck would never report on one and would sit stuckPendingin branch protection forever, instead of passing.testis one cheap Perl job with no matrix to skip for cost reasons, so there's no real tradeoff in just always running it -- same reasoningpg_count_nulls' ownchangesjob documents for why it must run unconditionally.gh api --method PUT .../branches/main/protection), not something a git merge can apply.Postgres-Extensions/pg_count_nullshad no branch protection onmasterat all, so a PR could showmergeStateStatus: CLEANeven with zero completed check-runs; the same gap currently exists here.Test plan
mainrequiring theall-checks-passedcontext, then confirm on an open PR thatmergeStateStatusreflects a real pending/completed run rather than showingCLEANwith no check having run.