From 67aad799a66cc1bc0f1d2e1feb1d7b97fdbb04f1 Mon Sep 17 00:00:00 2001 From: Sam Seed Date: Wed, 4 Oct 2023 19:29:56 +0100 Subject: [PATCH] Only run first few steps of deploy job --- .github/workflows/aws_deploy.yml | 96 -------------------------------- 1 file changed, 96 deletions(-) diff --git a/.github/workflows/aws_deploy.yml b/.github/workflows/aws_deploy.yml index 093a4feb2..0c65e367d 100644 --- a/.github/workflows/aws_deploy.yml +++ b/.github/workflows/aws_deploy.yml @@ -77,99 +77,3 @@ jobs: - name: Get timestamp id: timestamp run: echo "timestamp=$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV - - - name: Add environment tag to existing image - env: - registry: ${{ steps.ecr-login.outputs.registry }} - commit_tag: ${{ github.sha }} - readable_tag: ${{ inputs.environment }}-${{ env.timestamp }} - run: | - manifest=$(aws ecr batch-get-image --repository-name $repository --image-ids imageTag=$commit_tag --output text --query images[].imageManifest) - aws ecr put-image --repository-name $repository --image-tag $readable_tag --image-manifest "$manifest" - echo "image=$registry/$repository:$readable_tag" >> $GITHUB_ENV - - - name: Configure AWS credentials for environment - uses: aws-actions/configure-aws-credentials@v3 - with: - aws-region: ${{ env.aws_region }} - role-to-assume: arn:aws:iam::${{ inputs.aws_account_id }}:role/${{ inputs.aws_resource_prefix }}-deployment - role-chaining: true - - - name: Download ad hoc task definition - env: - ad_hoc_task_definition: ${{ inputs.aws_resource_prefix }}-ad-hoc - run: | - aws ecs describe-task-definition --task-definition $ad_hoc_task_definition --query taskDefinition > ad-hoc-task-definition.json - - - name: Update image ID - id: ad-hoc-task-def - uses: aws-actions/amazon-ecs-render-task-definition@v1 - with: - task-definition: ad-hoc-task-definition.json - container-name: app - image: ${{ env.image }} - - - name: Update ad hoc task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - task-definition: ${{ steps.ad-hoc-task-def.outputs.task-definition }} - - - name: Run migrations task - env: - ad_hoc_task_definition: ${{ inputs.aws_resource_prefix }}-ad-hoc - cluster: ${{ inputs.aws_resource_prefix }}-app - service: ${{ inputs.aws_resource_prefix }}-app - run: | - network=$(aws ecs describe-services --cluster $cluster --services $service --query services[0].networkConfiguration) - overrides='{ "containerOverrides" : [{ "name" : "app", "command" : ["bundle", "exec", "rake", "db:migrate"]}]}' - arn=$(aws ecs run-task --cluster $cluster --task-definition $ad_hoc_task_definition --network-configuration "$network" --overrides "$overrides" --group migrations --launch-type FARGATE --query tasks[0].taskArn) - echo "Waiting for migration task to complete" - temp=${arn##*/} - id=${temp%*\"} - aws ecs wait tasks-stopped --cluster $cluster --tasks $id - succeeded=$(aws ecs describe-tasks --cluster $cluster --tasks $id --query "tasks[0].stopCode == 'EssentialContainerExited' && to_string(tasks[0].containers[0].exitCode) == '0'") - if [ $succeeded == true ]; then exit 0; else exit 1; fi - - - name: Download app service task definition - env: - app_task_definition: ${{ inputs.aws_resource_prefix }}-app - run: | - aws ecs describe-task-definition --task-definition $app_task_definition --query taskDefinition > app-task-definition.json - - - name: Update app image ID - id: app-task-def - uses: aws-actions/amazon-ecs-render-task-definition@v1 - with: - task-definition: app-task-definition.json - container-name: app - image: ${{ env.image }} - - - name: Deploy updated application - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - cluster: ${{ inputs.aws_resource_prefix }}-app - service: ${{ inputs.aws_resource_prefix }}-app - task-definition: ${{ steps.app-task-def.outputs.task-definition }} - wait-for-service-stability: true - - - name: Download sidekiq service task definition - env: - sidekiq_task_definition: ${{ inputs.aws_resource_prefix }}-sidekiq - run: | - aws ecs describe-task-definition --task-definition $sidekiq_task_definition --query taskDefinition > sidekiq-task-definition.json - - - name: Update sidekiq image ID - id: sidekiq-task-def - uses: aws-actions/amazon-ecs-render-task-definition@v1 - with: - task-definition: sidekiq-task-definition.json - container-name: sidekiq - image: ${{ env.image }} - - - name: Deploy updated sidekiq - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 - with: - cluster: ${{ inputs.aws_resource_prefix }}-app - service: ${{ inputs.aws_resource_prefix }}-sidekiq - task-definition: ${{ steps.sidekiq-task-def.outputs.task-definition }} - wait-for-service-stability: true