Repository navigation
fix(ci): fail tests-ok when workspace discovery fails - #1807
Open
MakerFlyFly wants to merge 1 commit into
Open
MakerFlyFly wants to merge 1 commit into
MakerFlyFly wants to merge 1 commit into
Conversation
Require successful member discovery before accepting the pytest result. Only accept a skipped matrix when discovery explicitly produced []. Exercise the actual gate shell and its diagnostics, probe the required Bash environment, and align the branch-protection explanation. Generated-by: Codex (GPT-6)
MakerFlyFly
marked this pull request as ready for review
October 25, 2026 06:46
Kaap10
approved these changes
Oct 25, 2026
Kaap10
left a comment
Contributor
There was a problem hiding this comment.
LGTM! Very thorough and well-engineered fix for #1806.
- The dependency expansion (
needs: [members, pytest]) and strict result assertions close the umbrella check loophole cleanly. - Passing
BATCHESviaenv:rather than inline shell expansion is great security hygiene against Actions script injection. - The 47-case regression test in
test_ci_tests_gate.pyprovides complete coverage across result combinations and gracefully handles non-POSIX environments via_working_bash(). - Verified all CI workflows and matrix batches are passing cleanly.
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.
Summary
tests-okaccepts the pytest result. Failed discovery currently skips pytest and incorrectly passes the required umbrella check.batchesoutput, supplied through the environment. Preserve successful matrices, legitimate empty selections, and the required check name..asf.yamlcomments.Type of change
tools/dev/regression tests)Test plan
dcfe0ad5: 24 failed / 23 passed. Local selector-failure injection gives the original gate exit 0 and the fixed gate exit 1; canonical empty selection still passes.prek run --all-files --skip workspace-pytest(including whole-tree lychee) andprek run workspace-pytest --from-ref upstream/main --to-ref HEADpass.pre-first-pr-checkpass without bypasses; all five checklist categories pass with 0 blocking / 0 advisory items.d83db1002591efcefdea693335a9f8cc3da6c83bsucceeds, including the Ready-event reruns: eight-batch tests, prek / lychee, zizmor, RAT, CodeQL workflow, and the independent CodeQL aggregation check. Discovery selects 52 members; all eight pytest steps execute successfully. Hosted logs record 338 passing dev tests and a successfultests-okassertion.Existing hosted evidence for the same gate behavior: successful eight-batch matrix on the audited fork revision and documentation-only empty-selection run. Failure-path evidence comes from local execution of the actual shell and modelled job results.
RFC-AI-0004 compliance
Linked issues
Closes #1806.
Notes for reviewers
This is one concern in three files, prepared from upstream
dcfe0ad562b55d4df41bc69aee1f0f8289ee205b. Public audit provenance: fork PR #19. The Bash probe checks the required environment path as well as launcher availability.BATCHES deliberately follows the producer's existing literal
[]contract. No dependency or public API is added. The small field reader documents its supported literal YAML forms.Suggested classification:
family:ci,capability:fix. The automatic labeler has also classified the dev-test substrate; manual label changes require maintainer permissions.Generative AI disclosure
AI-generated with Codex (GPT-6). The contributor requested publication after the fork audit; this PR is submitted for maintainer review.