@@ -39,12 +39,46 @@ jobs:
3939 echo "DockerTag=${DOCKER_TAG}" >> $GITHUB_OUTPUT
4040 echo "AppEnv=${APP_ENV}" >> $GITHUB_OUTPUT
4141
42+ - name : Extract versions from builder image
43+ id : versions
44+ run : |
45+ # Pull the builder image and extract versions.json
46+ docker pull ghcr.io/sillsdev/app-builders:latest
47+ CONTAINER_ID=$(docker create ghcr.io/sillsdev/app-builders:latest)
48+ docker cp ${CONTAINER_ID}:/versions.json ./versions.json
49+ docker rm ${CONTAINER_ID}
50+
51+ # Parse versions.json using jq and set outputs
52+ echo "Contents of versions.json:"
53+ cat ./versions.json
54+
55+ VERSION_SAB=$(jq -r '.scriptureappbuilder' ./versions.json)
56+ VERSION_RAB=$(jq -r '.readingappbuilder' ./versions.json)
57+ VERSION_DAB=$(jq -r '.dictionaryappbuilder' ./versions.json)
58+ VERSION_KAB=$(jq -r '.keyboardappbuilder' ./versions.json)
59+
60+ echo "Extracted versions:"
61+ echo " scriptureappbuilder: $VERSION_SAB"
62+ echo " readingappbuilder: $VERSION_RAB"
63+ echo " dictionaryappbuilder: $VERSION_DAB"
64+ echo " keyboardappbuilder: $VERSION_KAB"
65+
66+ echo "VERSION_SAB=$VERSION_SAB" >> $GITHUB_OUTPUT
67+ echo "VERSION_RAB=$VERSION_RAB" >> $GITHUB_OUTPUT
68+ echo "VERSION_DAB=$VERSION_DAB" >> $GITHUB_OUTPUT
69+ echo "VERSION_KAB=$VERSION_KAB" >> $GITHUB_OUTPUT
70+
4271 - name : Build docker image
4372 uses : docker/build-push-action@v6
4473 with :
4574 context : .
4675 load : true
4776 tags : ${{ env.BUILD_TAG }}
77+ build-args : |
78+ VERSION_SAB=${{ steps.versions.outputs.VERSION_SAB }}
79+ VERSION_RAB=${{ steps.versions.outputs.VERSION_RAB }}
80+ VERSION_DAB=${{ steps.versions.outputs.VERSION_DAB }}
81+ VERSION_KAB=${{ steps.versions.outputs.VERSION_KAB }}
4882
4983 - name : Get version
5084 id : version
@@ -71,13 +105,11 @@ jobs:
71105 registries : ${{ secrets.SIL__AWS_ECR_ACCOUNT }}
72106
73107 - name : Push to AWS ECR (SIL)
74- uses : docker/build-push-action@v6
75- with :
76- context : .
77- push : true
78- tags : |
79- "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
80- "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
108+ run : |
109+ docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
110+ docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
111+ docker push "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
112+ docker push "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
81113
82114 - name : Configure AWS credentials (FCBH)
83115 if : ${{ steps.meta.outputs.AppEnv == 'prd' }}
@@ -97,13 +129,11 @@ jobs:
97129
98130 - name : Push to AWS ECR (FCBH)
99131 if : ${{ steps.meta.outputs.AppEnv == 'prd' }}
100- uses : docker/build-push-action@v6
101- with :
102- context : .
103- push : true
104- tags : |
105- "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
106- "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
132+ run : |
133+ docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
134+ docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
135+ docker push "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
136+ docker push "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
107137
108138 - name : Login to GHCR
109139 uses : docker/login-action@v3
@@ -113,13 +143,11 @@ jobs:
113143 password : ${{ secrets.GITHUB_TOKEN }}
114144
115145 - name : Push to GHCR
116- uses : docker/build-push-action@v6
117- with :
118- context : .
119- push : true
120- tags : |
121- "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
122- "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
146+ run : |
147+ docker tag ${{ env.BUILD_TAG }} "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
148+ docker tag ${{ env.BUILD_TAG }} "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
149+ docker push "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
150+ docker push "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
123151 - name : Cleanup older untagged packages, keep 2
124152 uses : actions/delete-package-versions@v5
125153 with :
0 commit comments