Repository navigation
test(release): isolate parallel gate fixtures from PC_UPGRADE_SOURCE_SHA - #2256
Merged
hidb4ai merged 1 commit intoOct 27, 2026
Merged
Conversation
Since oceanbase#2248 the parallel upgrade gate identifies the checkout by PC_UPGRADE_SOURCE_SHA and falls back to GITHUB_SHA, and upgrade-release.yml exports PC_UPGRADE_SOURCE_SHA to every step. The checkout case of test_parallel_workers_reject_changed_preparation_inputs changes only GITHUB_SHA, so inside the upgrade acceptance job the identity the gate reads stays the same and no GateError is raised. Locally and in the unit test job the variable is unset, the gate falls back to GITHUB_SHA, and the case passes. The parallel_reports fixture now unsets the variable, so these tests model an unpinned checkout in any environment and keep covering the GITHUB_SHA fallback. The pinned path stays covered by test_manual_release_evidence_tracks_target_checkout_not_workflow_commit, which sets both variables.
Contributor
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
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.
Which issue or RFC does this PR close?
No issue was filed. This fixes a CI failure introduced by #2248: since bad4c0c,
upgrade-acceptance / Prepare upgrade artifacts and matrixfails on master and on pull requests, andUpgrade release gatefails after it.Rationale for this change
#2248 made
scripts/parallel_upgrade_release_gate.pyidentify the checkout byPC_UPGRADE_SOURCE_SHA, falling back toGITHUB_SHA..github/workflows/upgrade-release.ymlexportsPC_UPGRADE_SOURCE_SHAat workflow level, so the variable is set in the step that runs the release gate tests.test_parallel_workers_reject_changed_preparation_inputs[checkout]models a worker on another checkout by changing onlyGITHUB_SHA. WhilePC_UPGRADE_SOURCE_SHAis set, the identity the gate reads does not change, so the case fails withDID NOT RAISE GateError.Only that job fails because only the upgrade workflow sets the variable. Locally and in the
tests (3.12, unit)job it is unset, the gate falls back toGITHUB_SHA, and the case passes. The gate behaves as #2248 intends; the test depended on the environment of the job that ran it.What changes are included in this PR?
parallel_reportsfixture unsetsPC_UPGRADE_SOURCE_SHAbefore preparing, so the parallel gate tests model an unpinned checkout in every environment. Thecheckoutcase still changesGITHUB_SHA, which is now the identity the gate reads wherever the test runs, so theGITHUB_SHAfallback stays covered.test_manual_release_evidence_tracks_target_checkout_not_workflow_commitfrom ci(release): allow explicit publication without upgrade acceptance #2248, which sets both variables explicitly.Are there any user-facing changes?
No. This changes one test fixture.
How was this change tested?
GITHUB_SHAandPC_UPGRADE_SOURCE_SHAset to the same commit, as in a push or pull request run:uv run pytest -q tests/test_upgrade_release_gate.py -k test_parallel_workers_reject_changed_preparation_inputsfails thecheckoutcase.PC_UPGRADE_SOURCE_SHAset to a different commit thanGITHUB_SHA(a pinnedsource_ref), and with onlyPC_UPGRADE_SOURCE_SHAset.scripts/parallel_upgrade_release_gate.py, reverted afterwards:checkoutcase fails with and withoutPC_UPGRADE_SOURCE_SHAset;GITHUB_SHAfallback, thecheckoutcase fails;PC_UPGRADE_SOURCE_SHA,test_manual_release_evidence_tracks_target_checkout_not_workflow_commitfails.uv run pytest -q tests/test_upgrade_release_gate.py tests/test_upgrade_publication.py tests/test_upgrade_schema_equivalence.py, the files the job runs, passes with and without the variables set. On macOS, 6 supervisor tests skip because they need Linux subreaper support.make checkPrepare upgrade artifacts and matrixjob on this PR is the direct check.AI usage statement
Claude Code (Claude Opus 5.5) was used to diagnose the failure from the CI logs, write the change, run the checks above, and draft this description. I reviewed the change.