Skip to content

[Devops] Stabilize schema CI check names for required-status-check pinning #647

Description

@lowlydba

Context

Split off #646 while wiring up the omf-github-terraform side (omf-github-terraform#96). Two check-name stability problems surfaced that need fixing in this repo before more of #646's checks can be safely pinned as required:

  1. check-python-code.yaml has no aggregator job. Its matrix (Check (default, py3.10) … py3.14, Check (lowest-direct, py3.10)) produces one status per cell with no combined gate. Adding or dropping a Python version silently drops that cell out of the required-check list until the ruleset is updated to match, and there's no single stable name to pin.
  2. test-schema.yaml's Build job name collides with schema-pr-preview.yml's Build job. [FEATURE] Branching strategy Phase 3 - PyPI and CodeArtifact publish workflows #638 adds a pull_request trigger to test-schema.yaml so it can post a status on PRs (it's push-only today, which means pinning it as required right now would deadlock every merge). But both workflows name their job Build, so once [FEATURE] Branching strategy Phase 3 - PyPI and CodeArtifact publish workflows #638 merges, a required check on that name is ambiguous about which workflow it's watching.

Scope

  • Add an all-checks-pass gate job to check-python-code.yaml (needs: [check], if: always(), fails if any matrix cell failed), so the required-check list only ever needs this one stable name instead of six per-cell contexts.
  • Rename one side of the Build/Build collision, either test-schema.yaml's job or schema-pr-preview.yml's, so each produces a distinct check-run name. Coordinate with whichever of [FEATURE] Branching strategy Phase 3 - PyPI and CodeArtifact publish workflows #638 or this lands second.
  • Once both are in, verify against a real fork PR (not just a same-repo branch) that all-checks-pass and the renamed Build check both trigger and report correctly, push-only workflows don't fire for fork PRs and would deadlock a required check depending on them.
  • Report the final stable names back to omf-github-terraform#96 (or a follow-up PR there) so they get added to schema's required-check list.

Out of scope

  • check-python-package-versions.yaml's reusable-workflow-derived context (check / Check Python package versions), vnext-compat.yaml's Check vnext compatibility, require-changelog-fragment.yaml's Require changelog on package change, and enforce-change-type-label.yaml's Check label: already stable single-job names, already wired into the ruleset in omf-github-terraform#96.
  • The ruleset change itself, that's omf-github-terraform#96, not this repo.

Acceptance

  • check-python-code.yaml has an all-checks-pass job that fails whenever any matrix cell fails.
  • test-schema.yaml and schema-pr-preview.yml no longer share a job name.
  • A fork PR is confirmed to trigger and report both checks correctly.

Parent: #646

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions