Description
Problem statement
Right now, this action only waits for service stabilization (without regard to how that happens or what deployment actually becomes stable)
With the new deployment circuit breaker feature, it's possible that a deployment will fail, but the service will eventually become stable when the rollback deployment occurs.
This means that workflows may continue on to subsequent steps, even though the service deployment actually failed
What is the bug/problem behavior?
The GitHub action reports success in the case that the service stabilizes after a rollback is triggered by the circuit breaker
This is present in aws-actions/amazon-ecs-deploy-task-definition@v1
What is the desired/correct behavior
The GitHub action should be considered a failure if the deployment circuit breaker is triggered
Steps to reproduce
- Create an ECS service with deployment circuit breaker with rollbacks enabled
- Deploy a change with this action that's expected to fail and trigger the circuit breaker
- Observe that the action job is successful, despite the deployment failing.
Notes
Possible implementation details
Perhaps the action could, upon stabilization, describe the service and see that the expected task revision is contained in the active deployment.
Workarounds
A possible workaround is to add an additional step in your GitHub actions workflow to check the describe-services
API response to see if the circuit breaker was triggered on the deployment and the expected taskDefinition revision (using the task definition ARN output) is present in the active deployment.