Skip to content

[CHORE](ci) Add all-Python-checks gate, resolve Build job-name collision - #648

Merged
John McCall (lowlydba) merged 4 commits into
mainfrom
lowlydba-issue-647-devops-stabilize-schema-ci-check-names-1fcec4
Aug 11, 2026
Merged

[CHORE](ci) Add all-Python-checks gate, resolve Build job-name collision#648
John McCall (lowlydba) merged 4 commits into
mainfrom
lowlydba-issue-647-devops-stabilize-schema-ci-check-names-1fcec4

Conversation

@lowlydba

@lowlydba John McCall (lowlydba) commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Fixes the two check-name problems #647 flags, blocking more of #646's checks (omf-github-terraform#96) from being pinned as required.

Problem

check-python-code.yaml's check matrix produces one status per cell (Check (default, py3.10)Check (lowest-direct, py3.10)) with no aggregator, so a required-check rule has to track six names and misses any new Python version until the rule catches up.

test-schema.yaml and schema-pr-preview.yml both name their job Build, ambiguous once test-schema.yaml gets a pull_request trigger and needs pinning itself. And test-schema.yaml is push-only today, which would deadlock a required check for every fork PR.

Fix

  • Adds an all-python-checks-pass job to check-python-code.yaml (needs: [check], if: always()), using lowlydba/are-we-good to roll the matrix's per-cell results into one pass/fail check.
  • Renames schema-pr-preview.yml's build job from Build to Build preview, leaving test-schema.yaml's Build as the stable name [Devops] Wire schema's CI checks up as required status checks (safe-settings in omf-github-terraform) #646 already plans to pin.
  • Adds a pull_request trigger to test-schema.yaml alongside its existing push trigger, and switches its concurrency group's PR fallback to github.event.pull_request.number so per-PR runs don't collide.

Note

#647 names #638 as the companion PR for the test-schema.yaml trigger fix. #638 turned out to be a much larger, unrelated Phase 3 publish-workflow PR (14 files, still blocked/unmerged) with that fix buried in one small hunk. Rather than wait on #638 or pull its whole scope in here, this PR cherry-picks just that hunk since it's needed now to verify Build actually triggers on a fork PR per #647's acceptance criteria. #638 still owns its own unrelated diff and should drop this hunk when rebased, or land it as a no-op.

Testing

No test suite covers workflow YAML. Confirmed all three files parse with yaml.safe_load. check-python-code.yaml's matrix, the new all-python-checks-pass job, and test-schema.yaml's Build job will all run on this PR since it's same-repo.

The acceptance criterion still needs a genuine external fork PR to confirm Build and Build preview don't collide and push-only workflows don't deadlock. That can't be verified from this branch and needs a maintainer to confirm before any of these get pinned as required.

check-python-code.yaml's check matrix produces one status per cell with no
aggregator, so a required-status-check rule has to track six names and
misses any new Python version until updated. test-schema.yaml and
schema-pr-preview.yml both name their job Build, ambiguous once
test-schema.yaml gets a pull_request trigger and needs pinning itself.

Adds an all-python-checks-pass job to check-python-code.yaml (needs:
[check], if: always()) using lowlydba/are-we-good to roll the matrix's
per-cell results into one pass/fail. Renames schema-pr-preview.yml's build
job from Build to Build preview, leaving test-schema.yaml's Build as the
stable name #646 already plans to pin.

Fixes #647

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Signed-off-by: John McCall <john@overturemaps.org>
@lowlydba John McCall (lowlydba) added the automation 🦾 Change/enhance automation of a process label Aug 6, 2026
push never fires for fork PRs, so a required-status-check rule depending
on test-schema.yaml would deadlock every fork PR. Adds a pull_request
trigger alongside push, and switches the concurrency group's PR fallback
to github.event.pull_request.number so per-PR runs don't collide.

Cherry-picked from #638's test-schema.yaml hunk, that PR's scope is the
unrelated Phase 3 publish workflows and won't merge soon, this piece
can't wait on it since it's needed to verify the Build job actually
triggers and reports on a fork PR per #647's acceptance criteria.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Signed-off-by: John McCall <john@overturemaps.org>
@lowlydba
John McCall (lowlydba) marked this pull request as ready for review August 6, 2026 16:53
@lowlydba
John McCall (lowlydba) requested a review from a team as a code owner August 6, 2026 16:53
Copilot AI lite review requested due to automatic review settings August 6, 2026 16:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates GitHub Actions workflows to ensure schema and Python checks behave reliably for PRs (including forks) and to provide stable required-check names.

Changes:

  • Add pull_request trigger and adjust concurrency grouping for schema-related CI.
  • Rename the schema PR preview build job for clearer check-run naming.
  • Add an “All Python checks pass” aggregator job to provide a single stable required status for a Python version matrix.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
.github/workflows/test-schema.yaml Adds PR trigger + updates concurrency group key to work with fork PR required checks.
.github/workflows/schema-pr-preview.yml Renames the build job to produce a clearer check-run name.
.github/workflows/check-python-code.yaml Adds a matrix-aggregating job intended to provide one stable required check name.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

🗺️ Schema reference docs preview is live!

🌍 Preview https://staging.overturemaps.org/schema/pr/648/schema/index.html
🕐 Updated Aug 11, 2026 16:52 UTC
📝 Commit 6f1b429
🔧 env SCHEMA_PREVIEW true

Note

♻️ This preview updates automatically with each push to this PR.

@lowlydba
John McCall (lowlydba) merged commit b4d9dad into main Aug 11, 2026
23 checks passed
@lowlydba
John McCall (lowlydba) deleted the lowlydba-issue-647-devops-stabilize-schema-ci-check-names-1fcec4 branch August 11, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation 🦾 Change/enhance automation of a process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

4 participants