Delete ECS task definitions #4
This file contains 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
name: Delete ECS task definitions | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 5 * * 0" # 5am Sunday UTC | |
env: | |
AWS_REGION: ca-central-1 | |
jobs: | |
delete-ecs-task-definitions: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- env: 'Staging' | |
secret_prefix: '' | |
- env: 'Production' | |
secret_prefix: 'PROD_' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 # v4.0.0 | |
with: | |
aws-access-key-id: ${{ secrets[format('{0}AWS_ACCESS_KEY_ID', matrix.secret_prefix)] }} | |
aws-secret-access-key: ${{ secrets[format('{0}AWS_SECRET_ACCESS_KEY', matrix.secret_prefix)] }} | |
aws-region: ${{ env.AWS_REGION }} | |
# Retrieves all ACTIVE task definitions except for the 5 most recent | |
- name: Get ${{ matrix.env }} ECS task definitions | |
run: | | |
aws ecs list-task-definitions \ | |
--sort ASC \ | |
--status ACTIVE \ | |
--region ${{ env.AWS_REGION }} \ | |
--no-cli-pager \ | |
| jq -r '(.taskDefinitionArns[:length-6])[]' > task-def-arns.txt | |
- name: Delete ${{ matrix.env }} ECS task definitions | |
run: | | |
./bin/delete-ecs-task-defs.sh task-def-arns.txt |