@@ -223,15 +223,15 @@ jobs:
223223 safe_image_name=$(echo -n "$image" | tr '/:' '_')
224224 docker save "$image" -o ~/.cache/images/"$safe_image_name".tar
225225 done
226- authgear-image :
226+ authgear-image-amd64 :
227227 if : ${{ github.repository != 'oursky/authgear-server' }}
228228 runs-on : ubuntu-24.04
229229 needs : ["authgear-test", "authui-test"]
230230 env :
231231 TARGET : authgear
232232 IMAGE_NAME : quay.io/theauthgear/authgear-server
233233 PUSH_IMAGE : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'true' || 'false' }}"
234- BUILD_PLATFORMS : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'linux/ amd64,linux/arm64' || 'linux/amd64' }} "
234+ BUILD_ARCH : amd64
235235 steps :
236236 - uses : actions/checkout@v4
237237 - name : Install qemu for multi arch build
@@ -249,7 +249,62 @@ jobs:
249249 DOCKER_PASSWORD : ${{ secrets.QUAY_ROBOT_TOKEN }}
250250 run : |
251251 printf "$DOCKER_PASSWORD" | docker login --password-stdin --username "$DOCKER_USERNAME" quay.io
252- - run : make build-image BUILD_PLATFORMS=$BUILD_PLATFORMS PUSH_IMAGE=$PUSH_IMAGE TAG_IMAGE=true TARGET=$TARGET IMAGE_NAME=$IMAGE_NAME
252+ - run : make build-image BUILD_ARCH=$BUILD_ARCH PUSH_IMAGE=$PUSH_IMAGE TARGET=$TARGET IMAGE_NAME=$IMAGE_NAME
253+ - name : docker logout
254+ if : ${{ always() }}
255+ run : |
256+ docker logout quay.io
257+ authgear-image-arm64 :
258+ if : ${{ github.repository != 'oursky/authgear-server' }}
259+ runs-on : ubuntu-24.04
260+ needs : ["authgear-test", "authui-test"]
261+ env :
262+ TARGET : authgear
263+ IMAGE_NAME : quay.io/theauthgear/authgear-server
264+ PUSH_IMAGE : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'true' || 'false' }}"
265+ BUILD_ARCH : arm64
266+ steps :
267+ - uses : actions/checkout@v4
268+ - name : Install qemu for multi arch build
269+ run : docker run --privileged --rm tonistiigi/binfmt --install all
270+ - name : Setup container builder
271+ run : |
272+ docker buildx create \
273+ --name container-builder \
274+ --driver docker-container \
275+ --bootstrap --use
276+ - name : docker login
277+ if : ${{ github.repository == 'authgear/authgear-server' && github.event_name == 'push' }}
278+ env :
279+ DOCKER_USERNAME : ${{ secrets.QUAY_USERNAME }}
280+ DOCKER_PASSWORD : ${{ secrets.QUAY_ROBOT_TOKEN }}
281+ run : |
282+ printf "$DOCKER_PASSWORD" | docker login --password-stdin --username "$DOCKER_USERNAME" quay.io
283+ - run : make build-image BUILD_ARCH=$BUILD_ARCH PUSH_IMAGE=$PUSH_IMAGE TARGET=$TARGET IMAGE_NAME=$IMAGE_NAME
284+ - name : docker logout
285+ if : ${{ always() }}
286+ run : |
287+ docker logout quay.io
288+
289+ authgear-image :
290+ if : ${{ github.repository != 'oursky/authgear-server' }}
291+ runs-on : ubuntu-24.04
292+ needs : ["authgear-image-amd64", "authgear-image-arm64"]
293+ env :
294+ TARGET : authgear
295+ IMAGE_NAME : quay.io/theauthgear/authgear-server
296+ PUSH_IMAGE : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'true' || 'false' }}"
297+ SOURCE_ARCHS : arm64,amd64
298+ steps :
299+ - uses : actions/checkout@v4
300+ - name : docker login
301+ if : ${{ github.repository == 'authgear/authgear-server' && github.event_name == 'push' }}
302+ env :
303+ DOCKER_USERNAME : ${{ secrets.QUAY_USERNAME }}
304+ DOCKER_PASSWORD : ${{ secrets.QUAY_ROBOT_TOKEN }}
305+ run : |
306+ printf "$DOCKER_PASSWORD" | docker login --password-stdin --username "$DOCKER_USERNAME" quay.io
307+ - run : make tag-image SOURCE_ARCHS=$SOURCE_ARCHS IMAGE_NAME=$IMAGE_NAME
253308 - name : docker logout
254309 if : ${{ always() }}
255310 run : |
0 commit comments