@@ -110,20 +110,13 @@ jobs:
110
110
if-no-files-found : error
111
111
retention-days : 1
112
112
113
- # Create and push multi-arch manifests for production releases
114
- push-multi-arch-images :
113
+ # Push frontend multi-arch manifest
114
+ push-frontend-image :
115
115
runs-on : ubuntu-latest
116
116
if : github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release')
117
117
needs :
118
- - build-mina-node-image
119
118
- build-mina-frontend-image
120
119
steps :
121
- - name : Login to Docker Hub
122
- uses : docker/login-action@v3
123
- with :
124
- username : ${{ secrets.DOCKERHUB_USERNAME }}
125
- password : ${{ secrets.DOCKERHUB_TOKEN }}
126
-
127
120
- name : Set up environment variables
128
121
run : |
129
122
if [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then
@@ -135,35 +128,38 @@ jobs:
135
128
echo "GIT_COMMIT=${BRANCH_NAME}" >> $GITHUB_ENV
136
129
fi
137
130
138
- - name : Set up Docker Buildx
139
- uses : docker/setup-buildx-action@v3
140
-
141
- # Create mina-rust multi-arch manifest
142
- - name : Download mina-rust digests
143
- uses : actions/download-artifact@v4
131
+ - name : Push frontend multi-arch manifest
132
+ uses : ./.github/actions/push-docker-manifest
144
133
with :
145
- path : /tmp/mina-digests
146
- pattern : node-digests-*
147
- merge-multiple : true
148
-
149
- - name : Create mina-rust manifest list and push
150
- working-directory : /tmp/mina-digests
134
+ registry_image : ${{ env.REGISTRY_FRONTEND_IMAGE }}
135
+ git_commit : ${{ env.GIT_COMMIT }}
136
+ digest_pattern : ' frontend-*-digests-*'
137
+ dockerhub_username : ${{ secrets.DOCKERHUB_USERNAME }}
138
+ dockerhub_token : ${{ secrets.DOCKERHUB_TOKEN }}
139
+
140
+ # Push node multi-arch manifest (after node build completes)
141
+ push-node-image :
142
+ runs-on : ubuntu-latest
143
+ if : github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release')
144
+ needs :
145
+ - build-mina-node-image
146
+ steps :
147
+ - name : Set up environment variables
151
148
run : |
152
- docker buildx imagetools create \
153
- --tag ${{ env.REGISTRY_NODE_IMAGE }}:${{ env.GIT_COMMIT }} \
154
- $(printf '${{ env.REGISTRY_NODE_IMAGE }}@sha256:%s ' *)
149
+ if [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then
150
+ echo "GIT_COMMIT=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
151
+ elif [[ "${{ github.ref }}" == refs/tags/* ]]; then
152
+ echo "GIT_COMMIT=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
153
+ elif [[ "${{ github.ref }}" == refs/heads/release/* ]]; then
154
+ BRANCH_NAME="${GITHUB_REF#refs/heads/}"
155
+ echo "GIT_COMMIT=${BRANCH_NAME}" >> $GITHUB_ENV
156
+ fi
155
157
156
- # Create mina-rust-frontend multi-arch manifest
157
- - name : Download mina-rust-frontend digests
158
- uses : actions/download-artifact@v4
158
+ - name : Push node multi-arch manifest
159
+ uses : ./.github/actions/push-docker-manifest
159
160
with :
160
- path : /tmp/frontend-digests
161
- pattern : frontend-*-digests-*
162
- merge-multiple : true
163
-
164
- - name : Create mina-rust-frontend manifest list and push
165
- working-directory : /tmp/frontend-digests
166
- run : |
167
- docker buildx imagetools create \
168
- --tag ${{ env.REGISTRY_FRONTEND_IMAGE }}:${{ env.GIT_COMMIT }} \
169
- $(printf '${{ env.REGISTRY_FRONTEND_IMAGE }}@sha256:%s ' *)
161
+ registry_image : ${{ env.REGISTRY_NODE_IMAGE }}
162
+ git_commit : ${{ env.GIT_COMMIT }}
163
+ digest_pattern : ' node-digests-*'
164
+ dockerhub_username : ${{ secrets.DOCKERHUB_USERNAME }}
165
+ dockerhub_token : ${{ secrets.DOCKERHUB_TOKEN }}
0 commit comments