Add job test-pass for stable job name#1551
Merged
Sebastian Thiel (Byron) merged 1 commit intoGitoxideLabs:mainfrom Aug 25, 2024
Merged
Add job test-pass for stable job name#1551Sebastian Thiel (Byron) merged 1 commit intoGitoxideLabs:mainfrom
Sebastian Thiel (Byron) merged 1 commit intoGitoxideLabs:mainfrom
Conversation
Which can be used in github branch protection
Sebastian Thiel (Byron)
approved these changes
Aug 25, 2024
Member
Sebastian Thiel (Byron)
left a comment
There was a problem hiding this comment.
Thanks a lot!
I think I can use this and the main jobs of the other CI configurations to assure truly everything needs to pass.
And I should be sure to maintain it or there is a risk it auto-merges even though CI is still running.
But I guess it's all worth it to get auto-merge :).
Contributor
Author
|
Yes it's more convenient than specifying each job manually in github branch protection and a bit easy to update, you just need to update the test-pass to include the newly added jobs From my experience it's easier |
Member
Eliah Kagan (EliahKagan)
added a commit
to EliahKagan/algorithms-python
that referenced
this pull request
Apr 25, 2025
GitHub branch protection rules requiring CI checks currently only support listing individual checks as required. This adds an `all-pass` job that depends on all other jobs, to simplify this. `all-pass` can thus be made a required check, in lieu of numerous others, which it takes care to ensure are treated as effectively required. This also adds an `all-pass-meta` job that checks that the `all-pass` job really depends on all intended other jobs, which currently is all other jobs in the workflow. It is intentional at this time that neither CodeQL (configured via the "default" setup) nor the Markdown links check shall be blocking. The `all-pass` job is based on the `tests-pass` job in `gitoxide`, introduced in GitoxideLabs/gitoxide#1551 by Jiahao XU (https://github.com/NobodyXu), moderately edited since, and further moderately edited in the form it appars here. In view of... - (de minimis) the small size of the code, other than the list of jobs it depends on, which is not duplicated since the jobs here differ including in their names, *and* - how widespread that specific technique appears to be, based in part on searching GitHub and examining results with the exact string `"contains(needs.*.result, 'cancelled')"`, *and* - (scènes à faire) the limited number of reasonable feasible ways the technique can be expressed ...it seems to me that that continued resemblance of fragments of the code here to the code there does not raise copyright or related problems, in the `all-pass` job. Separately, the `all-pass-meta` job is is a direct copy of the `check-blocking` job in `gitoxide`, introduced among other changes in GitoxideLabs/gitoxide#1668. The `all-pass-meta` job is a near-complete copy of `check-blocking`, with only minimal changes, and even keeps the comments. Although `check-blocking` is less important than `tests-pass`, it is also significantly longer and more complex. But unlike `tests-pass`, I contributed the `check-blocking` job in `gitoxide` (without copying from a previous work to do so; and licensing it nonexclusively, with no transfer or assignment of copyright). So that specific code is fine for me to reuse here. More broadly, I intend that anyone be allowed to reuse the code of the `all-pass-meta` job (as it appears here), anywhere, with no restrictions. See the 0BSD license file that accompanies this (algorithms-python) project. Note that the code of `check-blocking` in `gitoxide` may receive modifications authored by others, may be renamed, and some other job may be renamed to it, or it might be removed and some other job with that name may arise later, etc. Such code may still only be used under the terms that it is offered; these more permissive terms do *not* apply to such code, especially if it is written by others.
Eliah Kagan (EliahKagan)
added a commit
to EliahKagan/algorithms-python
that referenced
this pull request
Apr 25, 2025
GitHub branch protection rules requiring CI checks currently only support listing individual checks as required. This adds an `all-pass` job that depends on all other jobs, to simplify this. `all-pass` can thus be made a required check, in lieu of numerous others, which it takes care to ensure are treated as effectively required. This also adds an `all-pass-meta` job that checks that the `all-pass` job really depends on all intended other jobs, which currently is all other jobs in the workflow. It is intentional at this time that neither CodeQL (configured via the "default" setup) nor the Markdown links check shall be blocking. The `all-pass` job is based on the `tests-pass` job in `gitoxide`, introduced in GitoxideLabs/gitoxide#1551 by Jiahao XU (https://github.com/NobodyXu), moderately edited since, and further moderately edited in the form it appars here. In view of... - (de minimis) the small size of the code, other than the list of jobs it depends on, which is not duplicated since the jobs here differ including in their names, *and* - how widespread that specific technique appears to be, based in part on searching GitHub and examining results with the exact string `"contains(needs.*.result, 'cancelled')"`, *and* - (scènes à faire) the limited number of reasonable feasible ways the technique can be expressed ...it seems to me that that continued resemblance of fragments of the code here to the code there does not raise copyright or related problems, in the `all-pass` job. Separately, the `all-pass-meta` job is is a direct copy of the `check-blocking` job in `gitoxide`, introduced among other changes in GitoxideLabs/gitoxide#1668. The `all-pass-meta` job is a near-complete copy of `check-blocking`, with only minimal changes, and even keeps the comments naerly unchanged. Although `check-blocking` is less important than `tests-pass`, it is also significantly longer and more complex. But unlike `tests-pass`, I contributed the `check-blocking` job in `gitoxide` (without copying from a previous work to do so; and licensing it nonexclusively, with no transfer or assignment of copyright). So that specific code is fine for me to reuse here. More broadly, I intend that anyone be allowed to reuse the code of the `all-pass-meta` job (as it appears here), anywhere, with no restrictions. See the 0BSD license file that accompanies this (algorithms-python) project. Note that the code of `check-blocking` in `gitoxide` may receive modifications authored by others, may be renamed, and some other job may be renamed to it, or it might be removed and some other job with that name may arise later, etc. Such code may still only be used under the terms that it is offered; these more permissive terms do *not* apply to such code, especially if it is written by others.
Eliah Kagan (EliahKagan)
added a commit
to EliahKagan/subaudit
that referenced
this pull request
Jun 2, 2025
- Remove `fail-fast: false` to allow failing checks to cancel others. This is to avoid unnecessary usage and wait times. It may be necessary to undo this temporarily again in the future when investigating failures, for failures that happen due to external changes rather than to a `subaudit` code change. - Add a "collector" job that depends on all the jobs generated by the `tox` matrix job definition, so the individual jobs don't have to be added as required checks for branch protection. Instead, the name "All tox checks pass" has been added. This is based indirectly on the `test-pass` job in `gitoxide`, which was introduced in GitoxideLabs/gitoxide#1551 by https://github.com/NobodyXu. It is more specifically based on my adaptation of that in `algorithms-python` introduced in EliahKagan/algorithms-python#234. This is a common pattern, so it does not necessarily resemble the code in `gitoxide` more than it does that pattern elsewhere, and it is simpler than the version in `algorithms-python`. See: EliahKagan/algorithms-python@60d2d4e
Eliah Kagan (EliahKagan)
added a commit
to EliahKagan/version
that referenced
this pull request
Jun 15, 2025
This commit's changes are directly analogous to those in: EliahKagan/subaudit@353cd50 - Remove `fail-fast: false` to let failing checks cancel others. - Add a "collector" job that depends on all the jobs generated by the `tox` matrix job definition, so the individual jobs don't have to be added as required checks for branch protection. Instead, the name "All tox checks pass" has been added. This is based indirectly on the `test-pass` job in `gitoxide`, which was introduced in GitoxideLabs/gitoxide#1551 by https://github.com/NobodyXu. It is more specifically based on my adaptation of that in `algorithms-python` introduced in EliahKagan/algorithms-python#234. This is a common pattern, so it does not necessarily resemble the code in `gitoxide` more than it does that pattern elsewhere, and it is simpler than the version in `algorithms-python`. See: EliahKagan/algorithms-python@60d2d4e
Eliah Kagan (EliahKagan)
added a commit
to EliahKagan/version
that referenced
this pull request
Jun 15, 2025
This commit's changes are directly analogous to those in: EliahKagan/subaudit@353cd50 - Remove `fail-fast: false` to let failing checks cancel others. - Add a "collector" job that depends on all the jobs generated by the `tox` matrix job definition, so the individual jobs don't have to be added as required checks for branch protection. Instead, the name "All tox checks pass" has been added. This is based indirectly on the `test-pass` job in `gitoxide`, which was introduced in GitoxideLabs/gitoxide#1551 by https://github.com/NobodyXu. It is more specifically based on my adaptation of that in `algorithms-python` introduced in EliahKagan/algorithms-python#234. This is a common pattern, so it does not necessarily resemble the code in `gitoxide` more than it does that pattern elsewhere, and it is simpler than the version in `algorithms-python`. See: EliahKagan/algorithms-python@60d2d4e
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.

Which can be used in github branch protection