sdadfadas

Форк
0
/
ephemeral-env-pr-close.yml 
75 строк · 2.5 Кб
1
name: Cleanup ephemeral envs (PR close)
2

3
on:
4
  pull_request_target:
5
    types: [closed]
6

7
jobs:
8
  config:
9
    runs-on: "ubuntu-22.04"
10
    outputs:
11
      has-secrets: ${{ steps.check.outputs.has-secrets }}
12
    steps:
13
      - name: "Check for secrets"
14
        id: check
15
        shell: bash
16
        run: |
17
          if [ -n "${{ (secrets.AWS_ACCESS_KEY_ID != '' && secrets.AWS_SECRET_ACCESS_KEY != '') || '' }}" ]; then
18
            echo "has-secrets=1" >> "$GITHUB_OUTPUT"
19
          fi
20

21
  ephemeral-env-cleanup:
22
    needs: config
23
    if: needs.config.outputs.has-secrets
24
    name: Cleanup ephemeral envs
25
    runs-on: ubuntu-22.04
26
    permissions:
27
      pull-requests: write
28
    steps:
29
      - name: Configure AWS credentials
30
        uses: aws-actions/configure-aws-credentials@v4
31
        with:
32
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
33
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
34
          aws-region: us-west-2
35

36
      - name: Describe ECS service
37
        id: describe-services
38
        run: |
39
          echo "active=$(aws ecs describe-services --cluster superset-ci --services pr-${{ github.event.number }}-service | jq '.services[] | select(.status == "ACTIVE") | any')" >> $GITHUB_OUTPUT
40

41
      - name: Delete ECS service
42
        if: steps.describe-services.outputs.active == 'true'
43
        id: delete-service
44
        run: |
45
          aws ecs delete-service \
46
          --cluster superset-ci \
47
          --service pr-${{ github.event.number }}-service \
48
          --force
49

50
      - name: Login to Amazon ECR
51
        if: steps.describe-services.outputs.active == 'true'
52
        id: login-ecr
53
        uses: aws-actions/amazon-ecr-login@v2
54

55
      - name: Delete ECR image tag
56
        if: steps.describe-services.outputs.active == 'true'
57
        id: delete-image-tag
58
        run: |
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 }}
63

64
      - name: Comment (success)
65
        if: steps.describe-services.outputs.active == 'true'
66
        uses: actions/github-script@v7
67
        with:
68
          github-token: ${{github.token}}
69
          script: |
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.'
75
            })
76

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.