Skip to content

chore(ci): require pytest via tests-ok umbrella job#341

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:chore-asf-yaml-pytest-umbrella-job
May 27, 2026
Merged

chore(ci): require pytest via tests-ok umbrella job#341
potiuk merged 1 commit into
apache:mainfrom
potiuk:chore-asf-yaml-pytest-umbrella-job

Conversation

@potiuk
Copy link
Copy Markdown
Member

@potiuk potiuk commented May 27, 2026

Summary

  • Branch protection on main cannot use patterns for required status check names — GitHub's classic branch-protection and rulesets APIs both require exact-match context strings, so each entry in the pytest matrix in tests.yml previously needed its own line in .asf.yaml.
  • That coupling caused two known issues:
  • Add a tests-ok umbrella job in tests.yml that needs: the pytest matrix and fails unless every matrix entry succeeded.
  • Replace all pytest (...) entries in .asf.yaml with the single tests-ok context. Adding, renaming, or removing matrix entries no longer touches .asf.yaml.

Follow-up

Test plan

  • CI on this PR passes all pre-existing required checks (the seven pytest (<project>) matrix entries still required by branch protection on main until this PR merges).
  • The new tests-ok job appears in the checks list and passes.
  • After merge: feat(labels): capability taxonomy + validator enforcement + sync check #340 (once rebased) shows tests-ok as the single pytest-related required check, and is mergeable when all matrix entries pass.
  • After merge: subsequent matrix renames (e.g. another tool added) do not require an .asf.yaml change.

Branch protection on `main` cannot use patterns for required status
check names — GitHub's classic branch-protection and rulesets APIs
both require exact-match `context` strings, so each entry in the
`pytest` matrix in `tests.yml` previously needed its own line in
`.asf.yaml`.

That coupling caused two known issues:

- PR apache#340 renames `pytest (skill-validator)` →
  `pytest (skill-and-tool-validator)` and cannot merge, because
  branch protection on `main` still requires the old context name
  (which no longer runs in CI after the rename).
- The `pytest (agent-isolation)` matrix entry added in apache#339 was
  never added to `.asf.yaml` and is silently not gated.

Add a `tests-ok` umbrella job in `tests.yml` that `needs:` the
`pytest` matrix and fails unless every matrix entry succeeded.
Replace all `pytest (...)` entries in `.asf.yaml` with the single
`tests-ok` context. Adding, renaming, or removing matrix entries
no longer touches `.asf.yaml`.

Follow-up for apache#340: drop the `.asf.yaml` hunk (the line is gone
on `main`) and rebase.

Generated-by: Claude Code (Opus 4.7)
@potiuk potiuk merged commit 6d37cc6 into apache:main May 27, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant