33 release :
44 types : [published]
55jobs :
6- image-build-push :
7- name : " Image Build & Push "
6+ image-tag :
7+ name : " Image tag to latest "
88 runs-on : ubuntu-latest
99 environment : prod
1010 permissions :
@@ -21,33 +21,14 @@ jobs:
2121 token_format : ' access_token'
2222 workload_identity_provider : ' ${{ secrets.WIF_PROVIDER }}' # e.g. - projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider
2323 service_account : ' ${{ secrets.WIF_SERVICE_ACCOUNT }}' # e.g. - my-service-account@my-project.iam.gserviceaccount.com
24-
25- # Authenticate Docker to Google Cloud Artifact Registry
26- - name : Docker Authentication
27- id : docker-auth
28- uses : ' docker/login-action@v1'
29- with :
30- username : ' oauth2accesstoken'
31- password : ' ${{ steps.auth.outputs.access_token }}'
32- registry : ' ${{ vars.region }}-docker.pkg.dev'
33- # TODO: ONLY tag, don't build
34- - name : Build and Tag
35- id : build-image
36- uses : docker/build-push-action@v3
37- with :
38- context : ${{ vars.code_directory }}
39- push : true
40- tags : |
41- ${{ vars.region }}-docker.pkg.dev/${{ vars.artifact_registry_project }}/${{ vars.artifact_registry_repo }}/${{ vars.service_name }}:${{ github.event.release.tag_name }}
42- ${{ vars.region }}-docker.pkg.dev/${{ vars.artifact_registry_project }}/${{ vars.artifact_registry_repo }}/${{ vars.service_name }}:latest
4324
4425 # TODO: ONLY tag, don't build
45- - name : Docker Push
26+ - name : tag
4627 shell : bash
4728 run : |-
48- docker push "${{ vars.region }}- docker.pkg.dev/${{ vars.artifact_registry_project }}/${{ vars.artifact_registry_repo }}/${{ vars.service_name }}:${{ github.event.release.tag_name }}"
49- docker push "${{ vars.region }}-docker.pkg.dev/${{ vars.artifact_registry_project }}/${{ vars.artifact_registry_repo }}/${{ vars.service_name }}:latest"
50-
29+ gcloud artifacts docker tags add \
30+ "${{ vars.region }}-docker.pkg.dev/${{ vars.artifact_registry_project }}/${{ vars.artifact_registry_repo }}/${{ vars.service_name }}:latest" \
31+ "${{ vars.region }}-docker.pkg.dev/${{ vars.artifact_registry_project }}/${{ vars.artifact_registry_repo }}/${{ vars.service_name }}:${{ github.event.release.tag_name }}"
5132 deploy-prod :
5233 if : contains(fromJSON('["main"]'), github.ref_name) && ${{ inputs.environment }} == "prod"
5334 name : " Cloud Run Deployment"
0 commit comments