From 4813659317c9309960436f4e4cb42c6338aedd5c Mon Sep 17 00:00:00 2001 From: kassad Date: Tue, 10 Sep 2024 08:37:53 -0700 Subject: [PATCH] Test docker upload --- .github/workflows/CD.yml | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/CD.yml diff --git a/.github/workflows/CD.yml b/.github/workflows/CD.yml new file mode 100644 index 00000000000..e2d94e6f468 --- /dev/null +++ b/.github/workflows/CD.yml @@ -0,0 +1,55 @@ +name: Build Docker Image + +on: + push: + branches: + - staging + - frick + - frack + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + + - name: Check if Docker image exists + id: check-image + run: | + IMAGE_EXISTS=$(aws ecr describe-images \ + --repository-name commonwealth \ + --image-ids imageTag=${{ github.sha }} \ + --query 'imageDetails[0].imageTags' \ + --output text 2>/dev/null || echo "false") + if [[ "$IMAGE_EXISTS" == "false" ]]; then + echo "Image does not exist. Building and uploading" + echo "IMAGE_EXISTS=false" >> $GITHUB_ENV + else + echo "Image exists. Will skip build and upload" + echo "IMAGE_EXISTS=true" >> $GITHUB_ENV + fi + + - name: Build, tag, and push docker image to Amazon ECR + env: + REGISTRY: ${{ steps.login-ecr.outputs.registry }} + REPOSITORY: commonwealth + IMAGE_TAG: ${{ github.sha }} + run: | + docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG . + docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG \ No newline at end of file