1- name : Draft Release On Push To Main And Push Prerelease Image To ECR
1+ name : Draft Release
2+ run-name : ' @${{ github.triggering_actor }}: ${{ github.ref_name }}: ${{ github.event_name }}'
23
34on :
45 push :
56 branches :
67 - main
78
89env :
9- AWS_REGION : us-east-1
10- ECR_REGISTRY : public.ecr.aws/x7v5r9e4
11- ECR_REPOSITORY : firetail-code-repository-scanner
12-
10+ REGISTRY : ghcr.io
11+ IMAGE_NAME : firetail-code-repository-scanner
12+
1313jobs :
1414 draft-release :
1515 name : Draft Release
@@ -23,34 +23,58 @@ jobs:
2323
2424 steps :
2525 - name : Checkout
26- uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
26+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2727
2828 - name : Draft Release
2929 id : draft_release
30- uses : release-drafter/release-drafter@569eb7ee3a85817ab916c8f8ff03a5bd96c9c83e
30+ uses : release-drafter/release-drafter@09c613e259eb8d4e7c81c2cb00618eb5fc4575a7 # v5.25.0
3131 env :
3232 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3333
34- - name : Configure AWS Credentials
35- uses : aws-actions/configure-aws-credentials@67fbcbb121271f7775d2e7715933280b06314838
36- with :
37- aws-region : ${{ env.AWS_REGION }}
38- role-to-assume : ${{ secrets.AWS_ACCOUNT_ROLE_ARN }}
39- role-session-name : git-api-discovery-publish-action-draft
34+ - name : Set Image Tags From Release Output
35+ run : |
36+ cat <<HEREDOC >>${{ github.env }}
37+ PRERELEASE_IMAGE_TAG= ${{ steps.draft_release.outputs.tag_name }}-prerelease
38+ PRERELEASE_LAMBDA_IMAGE_TAG= ${{ steps.draft_release.outputs.tag_name }}-lambda-prerelease
39+ HEREDOC
4040
41- - name : Login to ECR and build, tag & push prerelease images
42- env :
43- PRERELEASE_IMAGE_TAG : ${{ steps.draft_release.outputs.tag_name }}-prerelease
44- PRERELEASE_LAMBDA_IMAGE_TAG : ${{ steps.draft_release.outputs.tag_name }}-lambda-prerelease
41+ - name : Log In to the Container Registry
42+ run : |
43+ docker login ${{ env.REGISTRY }} \
44+ --username ${{ github.actor }} \
45+ --password-stdin <<<${{ secrets.GITHUB_TOKEN }}
46+
47+ - name : Build and Push Runtime Image
4548 run : |
46- aws ecr-public get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin public.ecr.aws
47- docker build --target runtime -t $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_IMAGE_TAG -f build_setup/Dockerfile .
48- docker push $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_IMAGE_TAG
49- docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:latest-prerelease
50- docker push $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_IMAGE_TAG
51- docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest-prerelease
52- docker build --target runtime-lambda -t $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_LAMBDA_IMAGE_TAG -f build_setup/Dockerfile .
53- docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_LAMBDA_IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:latest-lambda-prerelease
54- docker push $ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_LAMBDA_IMAGE_TAG
55- docker push $ECR_REGISTRY/$ECR_REPOSITORY:latest-lambda-prerelease
56- echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$PRERELEASE_IMAGE_TAG" >> $GITHUB_OUTPUT
49+ docker build \
50+ --target runtime \
51+ --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_IMAGE_TAG }} \
52+ --file build_setup/Dockerfile \
53+ "${PWD}"
54+ docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_IMAGE_TAG }} \
55+ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-prerelease
56+ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_IMAGE_TAG }}
57+ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-prerelease
58+
59+ - name : Build and Push Lambda Image
60+ run : |
61+ docker build \
62+ --target runtime-lambda \
63+ --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_LAMBDA_IMAGE_TAG }} \
64+ --file build_setup/Dockerfile \
65+ "${PWD}"
66+ docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_LAMBDA_IMAGE_TAG }} \
67+ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-lambda-prerelease
68+ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_LAMBDA_IMAGE_TAG }}
69+ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-lambda-prerelease
70+
71+ - name : Summarize Workflow Run
72+ run : |
73+ cat <<HEREDOC >>${GITHUB_STEP_SUMMARY}
74+ ## Successfully Pushed:
75+
76+ - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_IMAGE_TAG }}
77+ - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-prerelease
78+ - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.PRERELEASE_LAMBDA_IMAGE_TAG }}
79+ - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-lambda-prerelease
80+ HEREDOC
0 commit comments