I’ve been using a Github Action to update an ECS service on AWS without any issue for a few months, but today it started failing with:
Error: Unsupported deployment controller: ECS
Which is really odd because it definitely is supported as it used to work (I’ve made no changes to the workflow at all).
The entire process is:
- Builds the app as a Docker image
- Pushes the image to ECR
- Update the ECS task definition with the new image
- Deploy the updated task definition to ECS (this is the step that’s failing)
The step definition is as below:
- name: Deploy Amazon ECS task definition
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: ${{ env.ECS_SERVICE }}
cluster: ${{ env.ECS_CLUSTER }}
wait-for-service-stability: true
I’ve enabled debug logging but unfortunately there is no descriptive stack trace or any information as to why it’s failing.
I’ve tried manually updating the ECS service on AWS directly and it works so the cluster is definitely fine.
2
Answers
It seems to be a known issue, the team have opened a Github issue: https://github.com/aws-actions/amazon-ecs-deploy-task-definition/issues/384
And there's an open PR to fix it so hopefully that gets merged soon: https://github.com/aws-actions/amazon-ecs-deploy-task-definition/pull/385
EDIT: The issue has now been resolved and closed on the official repo
I added a comment with a temporary workaround in the relevant issue. You change your workflow until the pending PR is resolved:
From this:
to this
and it works perfectly. Just don’t forget to rollback once this issue has been resolved!