[Fix] CI: consolidate required checks into _required.yml so they report#2017
Merged
Conversation
…lly report
The org ruleset homeric-main-baseline requires 8 status-check contexts
(lint, unit-tests, integration-tests, security/dependency-scan,
security/secrets-scan, build, schema-validation, deps/version-sync). Five of
them never reported because the jobs lived in separate workflows under
non-matching names (`test (unit, tests/unit)`, `Dependency vulnerability
scan`, …). GitHub held every PR permanently BLOCKED waiting for contexts that
never appeared, so armed auto-merge never fired (13 PRs piled up un-mergeable).
Inline the 5 missing jobs into _required.yml under their canonical names, all
in one workflow / one concurrency group (matching the healthy-repo pattern in
ProjectHephaestus). A prior workflow_call bridge was reverted because it shared
a concurrency group and cancel-in-progress cancelled one of the two runs;
inlining the bodies removes that hazard. The concurrency group now includes
${{ github.workflow }} so it cannot collide with any other workflow.
- _required.yml: add lint, unit-tests, integration-tests,
security/dependency-scan, security/secrets-scan (split the old test.yml
matrix into two discrete jobs so names are unit-tests / integration-tests).
- Delete test.yml and pre-commit.yml (bodies moved into _required.yml).
- Trim security.yml to a schedule-only weekly sweep (no PR/push/workflow_call
trigger) so it cannot emit competing PR contexts.
Verified: all 8 required contexts are now emitted, and every workflow passes
the github-workflow JSON schema (the schema-validation job).
Closes #2016
Signed-off-by: mvillmow <4211002+mvillmow@users.noreply.github.com>
bd03dbd to
77a53d6
Compare
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.
Problem
Every open PR on
mainwas stuckmergeStateStatus=BLOCKEDwith auto-merge armed and all present checks green — but never merged. 13 PRs piled up un-mergeable.The org ruleset
homeric-main-baselinerequires 8 status-check contexts, but 5 of them never reported because the jobs lived in separate workflows under non-matching names:lintmarkdownlint,pre-commit, …)unit-teststest (unit, tests/unit)integration-teststest (integration, tests/integration)security/dependency-scanDependency vulnerability scansecurity/secrets-scanSecrets scan (gitleaks)GitHub held PRs BLOCKED waiting for contexts that never appeared.
Fix
Consolidate the 5 missing jobs into
_required.ymlunder their canonical names — one workflow, one concurrency group — matching the healthy-repo pattern in ProjectHephaestus._required.yml: addlint,unit-tests,integration-tests,security/dependency-scan,security/secrets-scan. The oldtest.ymlmatrix is split into two discrete jobs so the emitted names areunit-tests/integration-tests.test.ymlandpre-commit.yml(bodies moved into_required.yml).security.ymlto a schedule-only weekly sweep (nopull_request/push/workflow_calltrigger) so it can't emit competing PR contexts.concurrency.groupnow includes${{ github.workflow }}so it can't collide with another workflow's group — the bug that broke the earlierworkflow_callbridge.Verification
_required.yml(confirmed by parsing the YAML and diffing against the ruleset).check-jsonschema— theschema-validationjob) locally:ok -- validation done.forbid-suppressionsguard: no|| true/continue-on-error: trueintroduced.Closes #2016