1
name: Cleanup ephemeral envs (PR close)
9
runs-on: "ubuntu-22.04"
11
has-secrets: ${{ steps.check.outputs.has-secrets }}
13
- name: "Check for secrets"
17
if [ -n "${{ (secrets.AWS_ACCESS_KEY_ID != '' && secrets.AWS_SECRET_ACCESS_KEY != '') || '' }}" ]; then
18
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
21
ephemeral-env-cleanup:
23
if: needs.config.outputs.has-secrets
24
name: Cleanup ephemeral envs
29
- name: Configure AWS credentials
30
uses: aws-actions/configure-aws-credentials@v4
32
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
33
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
36
- name: Describe ECS service
39
echo "active=$(aws ecs describe-services --cluster superset-ci --services pr-${{ github.event.number }}-service | jq '.services[] | select(.status == "ACTIVE") | any')" >> $GITHUB_OUTPUT
41
- name: Delete ECS service
42
if: steps.describe-services.outputs.active == 'true'
45
aws ecs delete-service \
46
--cluster superset-ci \
47
--service pr-${{ github.event.number }}-service \
50
- name: Login to Amazon ECR
51
if: steps.describe-services.outputs.active == 'true'
53
uses: aws-actions/amazon-ecr-login@v2
55
- name: Delete ECR image tag
56
if: steps.describe-services.outputs.active == 'true'
59
aws ecr batch-delete-image \
60
--registry-id $(echo "${{ steps.login-ecr.outputs.registry }}" | grep -Eo "^[0-9]+") \
61
--repository-name superset-ci \
62
--image-ids imageTag=pr-${{ github.event.number }}
64
- name: Comment (success)
65
if: steps.describe-services.outputs.active == 'true'
66
uses: actions/github-script@v7
68
github-token: ${{github.token}}
70
github.rest.issues.createComment({
71
issue_number: ${{ github.event.number }},
72
owner: context.repo.owner,
73
repo: context.repo.repo,
74
body: 'Ephemeral environment shutdown and build artifacts deleted.'