Repository navigation
ci: offloaded suite runs the hosted lanes' set for each event - #1705
Open
ViperJuice wants to merge 1 commit into
Open
ViperJuice wants to merge 1 commit into
ViperJuice wants to merge 1 commit into
Conversation
While the offload path was off, the hosted lanes changed and the Dagger module did not follow. An offloaded pull request would have run all three interpreters and the full Gate A (agent-harness#1029 cut hosted PRs to py3.10 + wheel smoke), run the quarantined known flakes, and skipped the model-id guard and `phase-loop doctor --fail-on-stale`, which live only in the hosted pytest job. - `all(..., pull_request)`: a PR runs py3.10 and the new `wheel_smoke` stage (gate_a_cleanroom.sh with PHASE_LOOP_SKIP_GATE_A_SUITE=1). Every other event runs the three suites and Gate A. The default is the full set. - `_suite` exports PHASE_LOOP_DESELECT_QUARANTINE (1 on a PR, else 0) and runs the model-id guard before the suite and the doctor after it, as each hosted lane does. The xdist adoption pin for `_suite` is re-recorded. - ci/offload-gate.sh passes `--pull-request` from OFFLOAD_PULL_REQUEST (validated true|false, unset = full set). The offload job sets it from the event. - tests/test_ci_offload_parity.py pins module against workflow. Each check was mutation-tested: widening the PR lane set, dropping the `--pull-request` hand-off, and adding a hosted-only guard step each fail it. The default path is unchanged: OFFLOAD_SANDBOX_READY stays 'false'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PEJEudHgxc7NftvDdc8K6P
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This branch has not been deployed
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.
Why
Offload has been off since agent-harness#908, and the hosted lanes kept changing in that time. The Dagger module did not follow. If offload were turned back on today, the offload path would differ from the hosted path in three ways:
PHASE_LOOP_DESELECT_QUARANTINE) is set only in the hosted lanes.scripts/check_model_id_sources.py) andphase-loop doctor --fail-on-stalerun only in the hostedpytestjob, which is skipped when the run is eligible for offload.This PR is the parity work that has to land before the offload default flips. It does not flip it:
OFFLOAD_SANDBOX_READYstays'false'.What
ci/dagger/.../main.py:all(source, chronology, pull_request=False). On a pull request it runs the py3.10 suite and a newwheel_smokestage. That stage runsgate_a_cleanroom.shwithPHASE_LOOP_SKIP_GATE_A_SUITE=1, the same switch the hostedwheel-smokejob uses.verdicts.txtrecords which stage set ran._suite:PHASE_LOOP_DESELECT_QUARANTINE(1on a PR,0otherwise);phase-loop doctor --fail-on-staleafter it, as each hosted lane does.ci/offload-gate.sh: passes--pull-requestfromOFFLOAD_PULL_REQUEST, which must betrueorfalse. Unset means the full set.test.yml: the offload step gets one new env line,OFFLOAD_PULL_REQUEST: ${{ github.event_name == 'pull_request' }}. No other hunk.tests/test_ci_xdist_adoption.py: re-records the_suitedigest. The pin's own comment allows a change if the pin is updated with it.Tests
tests/test_ci_offload_parity.py:exclude;--pull-requestvalue todagger(unset,false,true; an unknown value is refused);pyteststep either runs its command in the module's_suiteor is on a short, reasoned list of setup steps the offload job already covers. A future hosted-only guard therefore fails the test.--pull-requesthand-off fails 3;test_ci_offload_parity,test_ci_xdist_adoption,test_ci_chronology_scope,test_ci_offload_lockandtest_ci_quarantine: 143 passed, 1 skipped.ruff checkis clean.dagger -m ci/dagger call all --helploads the module locally (v0.21.9) and lists--pull-request.Coordination
agent-harness#1703 edits the same offload step: it adds
ssh-userunderwith:, and this PR adds an env line. If git conflicts on the second landing, keep both lines.🤖 Generated with Claude Code
https://claude.ai/code/session_01PEJEudHgxc7NftvDdc8K6P
Need help on this PR? Tag
@codesmith-botwith what you need.