Repository navigation
fix: wait for console asset version overrides to converge - #323
Merged
Merged
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. |
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
The production console-asset gate fails immediately when a version override still selects another runtime, even if the preceding health check has converged. Its generic error also discards the failing asset path, HTTP status and observed version.
Retry only successful asset GETs that identify a different valid runtime, within the existing 30-second per-asset budget. Require the requested runtime and exact bytes before passing. HTTP errors, missing or malformed version proof, corrupt bytes and transport failures remain fatal. Add metadata-only failure diagnostics that flow into the existing rollback receipt; exclude response content and transport error text.
The failed scheduled run 39986461332 showed an earlier health override temporarily selecting blue, but its retained asset error cannot establish the incident's cause. This change covers the documented propagation behavior and makes a subsequent failure diagnosable.
Verification
node --test test/deploy-*.test.mjs test/smoke-readiness*.test.mjs: 72 passed.d0b534c01290a851b9fd623b3c3eec17bcab1b61.Deployment status and remaining risk
Merged as
ebde1ab2f865dc5d4d90dc8b5f8a504dfacbfdef. Exact-commit main CI passed all seven jobs; CodeQL also passed.The separately authorized production zero-smoke rehearsal passed for that merged SHA:
d2aeb79f-a83f-4c15-bf08-5c90c289da83at 0% and original versione6de8adf-5c99-494f-b5dd-a24a96a8d8f5at 100%. The run's two deployment records show that split followed by the original version alone at 100%.The uploaded candidate remains in version history and the immutable shared assets remain published. No full gradual rollout was performed. Zero configured normal traffic still permits synthetic/shared-state activity.
The original incident's exact cause remains unproven. This rehearsal needed one health readiness retry and no asset-version retries, so it does not reproduce the old asset failure; focused regression tests cover asset convergence and persistent failure. Application admin access was not needed for this investigation or rehearsal.