Repository navigation
Automatically deploy each main detector build to production and recovery - #18
Merged
Merged
Conversation
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.
Every main push currently publishes a detector image but leaves both production origins on the previous build. This adds an automatic paired release agent and makes CI wait for its exact-build deployment receipt.
The agent warms cloud before handing over traffic, updates both origins and the recovery controller to the build's immutable amd64 digest, returns traffic locally, and verifies the persistent cloud model cache before scaling cloud back to zero. Durable checkpoints resume interrupted handoffs; another operator's hold is never overwritten. The operator-host timer is installed and follows main, so merging activates the path without another deployment approval.
Validation: six regression tests cover artifact/source identity, stale-image rejection, terminating pods, interrupted handoffs, operator ownership, and platform manifests. Python compilation, shell syntax, and git diff checks pass. Forms and detector application credentials remain unchanged.