fix: Detect deployment rollback after service stabilization#860
Merged
omkhegde merged 1 commit intoApr 28, 2026
Merged
Conversation
omkhegde
approved these changes
Apr 28, 2026
amazreech
approved these changes
Apr 28, 2026
|
Hey @omkhegde @amazreech, can someone please release this in GitHub so we can make use of it? |
Contributor
Author
|
It's been released now! @wanis-fahmy 😃 |
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.
Issue #, if available:
Fixes #191.
Description of changes:
Problem
When a service has the deployment circuit breaker with rollback enabled, a failed deployment triggers a rollback. The service becomes stable again on the previous task definition, and the action reports success — even though the deployment actually failed.
Fix
After
waitUntilServicesStable, verify the deployment actually succeeded:updateService, capture the current PRIMARY deployment IDupdateServiceresponse, capture the new PRIMARY deployment IDdescribeServicesafter stability and check:rolloutState: FAILED→ failThis uses deployment ID comparison instead of task definition ARN comparison, which correctly handles
force-new-deployment, EBS volume changes where the task definition doesn't change across deployments, and anything that would create a deployment that is added to ECS logic in the future.No new API permissions required — uses the existing
ecs:DescribeServicespermission.Testing
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.