Skip to content

[Fix] CI: consolidate required checks into _required.yml so they report#2017

Merged
mvillmow merged 1 commit into
mainfrom
2016-required-checks
Jun 28, 2026
Merged

[Fix] CI: consolidate required checks into _required.yml so they report#2017
mvillmow merged 1 commit into
mainfrom
2016-required-checks

Conversation

@mvillmow

@mvillmow mvillmow commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Problem

Every open PR on main was stuck mergeStateStatus=BLOCKED with auto-merge armed and all present checks green — but never merged. 13 PRs piled up un-mergeable.

The org ruleset homeric-main-baseline requires 8 status-check contexts, but 5 of them never reported because the jobs lived in separate workflows under non-matching names:

Required context Was emitted as
lint (none — split across markdownlint, pre-commit, …)
unit-tests test (unit, tests/unit)
integration-tests test (integration, tests/integration)
security/dependency-scan Dependency vulnerability scan
security/secrets-scan Secrets scan (gitleaks)

GitHub held PRs BLOCKED waiting for contexts that never appeared.

Fix

Consolidate the 5 missing jobs into _required.yml under their canonical names — one workflow, one concurrency group — matching the healthy-repo pattern in ProjectHephaestus.

  • _required.yml: add lint, unit-tests, integration-tests, security/dependency-scan, security/secrets-scan. The old test.yml matrix is split into two discrete jobs so the emitted 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 pull_request/push/workflow_call trigger) so it can't emit competing PR contexts.
  • The concurrency.group now includes ${{ github.workflow }} so it can't collide with another workflow's group — the bug that broke the earlier workflow_call bridge.

Verification

  • All 8 required contexts are now emitted by _required.yml (confirmed by parsing the YAML and diffing against the ruleset).
  • Every workflow passes the github-workflow JSON schema (check-jsonschema — the schema-validation job) locally: ok -- validation done.
  • forbid-suppressions guard: no || true / continue-on-error: true introduced.

Closes #2016

…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>
@mvillmow mvillmow force-pushed the 2016-required-checks branch from bd03dbd to 77a53d6 Compare June 28, 2026 15:54
@mvillmow mvillmow merged commit c733eaa into main Jun 28, 2026
16 checks passed
@mvillmow mvillmow deleted the 2016-required-checks branch June 28, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] Required-check contexts never report — PRs sit BLOCKED, auto-merge never fires

1 participant