Repository navigation
Re-run the Client release rollback drill when rollback code changed - #4689
Merged
2 commits merged intoOct 24, 2026
Merged
2 commits merged into
2 commits merged into
Conversation
A passed drill now counts only when its acceptance was recorded at or after ROLLBACK_DRILL_CODE_CHANGED_AT. Q749 asks for the CM website rollback to be retested on current code; about 30 release and rollback commits landed since its October 8 drill. Refs #4688
Contributor
Author
|
Review result: weighed Review of record, weighed.
Nothing declined. |
Contributor
Author
|
Ready for the merge train Head: b51e7a6 |
Contributor
Author
|
Launchplane completed the merge-train step for this pull request.
Launchplane landed this pull request through protected batch PR #4696. Launchplane manages this comment and will update it as the train moves. |
shiny-code-app Bot
added a commit
that referenced
this pull request
Oct 24, 2026
…3017c21880e5046: merge PR #4689
This was referenced Oct 24, 2026
55b0981
This was referenced Oct 24, 2026
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.
Director decision Q749 (cbusillo/direction#3) asks for the CM website rollback to be retested on current code today. Launchplane ran each product's Client-release rollback drill once, ever, so CM's October 8 drill kept counting even though about 30 commits have since changed release and rollback code.
A passed drill now counts only when its acceptance was recorded at or after
ROLLBACK_DRILL_CODE_CHANGED_ATincontrol_plane/client_release.py. A change to the rollback or promotion path moves the marker forward in the same PR, so each product's next accepted release drills again on the new code. An acceptance time that cannot be parsed does not count, so the product drills rather than the review failing.docs/release-review.mddescribes the rule. Every caller (release review page, invitation, acceptance, standing acceptance) already goes throughrelease_start_for_acceptance, so they stay in agreement. Decisions already recorded keep the release sequence stamped when they were accepted.Closes #4688. Parent: #2882.
Verification
AttributeError), and the unparseable-time case failed withValueError: ... decided_at requires a timezonebefore the fix.uv run --extra dev python -m unittest tests.test_client_release tests.test_generic_web_client_release tests.test_client_release_redeploy tests.test_generic_web_promotion_recovery: 142 tests OK on the first commit; the two release modules (98 tests) OK after the fix.ruff check,ruff format --checkandmypyon the changed Python files pass.scripts/validate_role_words.pywas not run locally: its frontend helper needs thetypescriptpackage, which is not installed in this fresh worktree. CI runs it.Review
OpenAI (Codex, via
review_with_model.py; the run did not report the model), first commit. One P2: a stored drill decision with a timezone-lessdecided_atwould raise and block review and acceptance for that product. Reproduced with a test, fixed in the second commit by treating it as not counting.