diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 63e6355..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,115 +0,0 @@ -name: release - -on: - release: - types: - - published - -env: - AWS_REGION: ap-southeast-2 - FAMILY: api-service - TAG: ${{ github.event.release.tag_name }} - -permissions: - id-token: write # This is required for requesting the JWT - contents: read # This is required for actions/checkout - -jobs: - build_test_push: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Set up docker structure test - run: > - curl -LO - https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 - && chmod +x container-structure-test-linux-amd64 && sudo mv container-structure-test-linux-amd64 - /usr/local/bin/container-structure-test - - - name: Configure AWS Credentials - if: ${{ !env.ACT }} - uses: aws-actions/configure-aws-credentials@v4 - with: - audience: sts.amazonaws.com - aws-region: ${{ env.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - - - name: Login to ECR - if: ${{ !env.ACT }} - uses: docker/login-action@v3 - with: - registry: ${{ vars.ECR_REGISTRY }} - - - name: Build - uses: docker/build-push-action@v5 - with: - context: . - load: true - tags: ${{ env.TAG }} - - - name: Test - run: | - container-structure-test test --image ${{ env.TAG }} --config tests/config.yaml - - - name: Build and Push - if: ${{ !env.ACT }} - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64 - push: true - tags: | - ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:${{ env.TAG }} - ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:latest - - render_and_deploy: - runs-on: ubuntu-latest - needs: build_test_push - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Configure AWS Credentials - if: ${{ !env.ACT }} - uses: aws-actions/configure-aws-credentials@v4 - with: - audience: sts.amazonaws.com - aws-region: ${{ env.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - - - name: Get Current Task Definition - id: get-current-task-definition - run: > - aws ecs describe-task-definition --task-definition ${{ env.FAMILY }} - --query taskDefinition > task-definition.json - - - name: Update API image tag - id: update-api-image-tag - uses: aws-actions/amazon-ecs-render-task-definition@v1 - with: - task-definition: task-definition.json - container-name: api - image: ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:${{ env.TAG }} - - - name: Display Rendered Template - if: ${{ env.ACT }} - id: display-rendered-template - run: cat ${{ steps.update-api-image-tag.outputs.task-definition }} | jq -r - - - name: Deploy to Amazon ECS service - if: ${{ !env.ACT }} - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: ${{ steps.update-api-image-tag.outputs.task-definition }} - service: api-service - cluster: api-cluster - force-new-deployment: true - wait-for-service-stability: true