@@ -115,15 +115,15 @@ jobs:
115115 working-directory : ./portal
116116 if : ${{ !cancelled() }}
117117
118- portal-image :
118+ portal-image-amd64 :
119119 if : ${{ github.repository != 'oursky/authgear-server' }}
120120 runs-on : ubuntu-24.04
121121 needs : portal-test
122122 env :
123123 TARGET : portal
124124 IMAGE_NAME : quay.io/theauthgear/authgear-portal
125125 PUSH_IMAGE : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'true' || 'false' }}"
126- BUILD_PLATFORMS : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'linux/ amd64,linux/arm64' || 'linux/amd64' }} "
126+ BUILD_ARCH : amd64
127127 steps :
128128 - uses : actions/checkout@v4
129129 - name : Install qemu for multi arch build
@@ -141,12 +141,70 @@ jobs:
141141 DOCKER_PASSWORD : ${{ secrets.QUAY_ROBOT_TOKEN }}
142142 run : |
143143 printf "$DOCKER_PASSWORD" | docker login --password-stdin --username "$DOCKER_USERNAME" quay.io
144- - run : make build-image BUILD_PLATFORMS=$BUILD_PLATFORMS PUSH_IMAGE=$PUSH_IMAGE TAG_IMAGE=true TARGET=$TARGET IMAGE_NAME=$IMAGE_NAME
144+ - run : make build-image BUILD_ARCH=$BUILD_ARCH PUSH_IMAGE=$PUSH_IMAGE TARGET=$TARGET IMAGE_NAME=$IMAGE_NAME
145145 - name : docker logout
146146 if : ${{ always() }}
147147 run : |
148148 docker logout quay.io
149149
150+ portal-image-arm64 :
151+ if : ${{ github.repository != 'oursky/authgear-server' }}
152+ runs-on : ubuntu-24.04
153+ needs : portal-test
154+ env :
155+ TARGET : portal
156+ IMAGE_NAME : quay.io/theauthgear/authgear-portal
157+ PUSH_IMAGE : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'true' || 'false' }}"
158+ BUILD_ARCH : amd64
159+ steps :
160+ - uses : actions/checkout@v4
161+ - name : Install qemu for multi arch build
162+ run : docker run --privileged --rm tonistiigi/binfmt --install all
163+ - name : Setup container builder
164+ run : |
165+ docker buildx create \
166+ --name container-builder \
167+ --driver docker-container \
168+ --bootstrap --use
169+ - name : docker login
170+ if : ${{ github.repository == 'authgear/authgear-server' && github.event_name == 'push' }}
171+ env :
172+ DOCKER_USERNAME : ${{ secrets.QUAY_USERNAME }}
173+ DOCKER_PASSWORD : ${{ secrets.QUAY_ROBOT_TOKEN }}
174+ run : |
175+ printf "$DOCKER_PASSWORD" | docker login --password-stdin --username "$DOCKER_USERNAME" quay.io
176+ - run : make build-image BUILD_ARCH=$BUILD_ARCH PUSH_IMAGE=$PUSH_IMAGE TARGET=$TARGET IMAGE_NAME=$IMAGE_NAME
177+ - name : docker logout
178+ if : ${{ always() }}
179+ run : |
180+ docker logout quay.io
181+
182+ portal-image :
183+ if : ${{ github.repository != 'oursky/authgear-server' }}
184+ runs-on : ubuntu-24.04
185+ needs : ["portal-image-amd64", "portal-image-arm64"]
186+ env :
187+ TARGET : authgear
188+ IMAGE_NAME : quay.io/theauthgear/authgear-portal
189+ PUSH_IMAGE : " ${{ (github.repository == 'authgear/authgear-server' && github.event_name == 'push') && 'true' || 'false' }}"
190+ SOURCE_ARCHS : arm64,amd64
191+ steps :
192+ - uses : actions/checkout@v4
193+ - name : docker login
194+ if : ${{ github.repository == 'authgear/authgear-server' && github.event_name == 'push' }}
195+ env :
196+ DOCKER_USERNAME : ${{ secrets.QUAY_USERNAME }}
197+ DOCKER_PASSWORD : ${{ secrets.QUAY_ROBOT_TOKEN }}
198+ run : |
199+ printf "$DOCKER_PASSWORD" | docker login --password-stdin --username "$DOCKER_USERNAME" quay.io
200+ - run : make tag-image SOURCE_ARCHS=$SOURCE_ARCHS IMAGE_NAME=$IMAGE_NAME
201+ - name : docker logout
202+ if : ${{ always() }}
203+ run : |
204+ docker logout quay.io
205+
206+
207+
150208 authgear-test :
151209 if : ${{ github.repository != 'oursky/authgear-server' }}
152210 runs-on : ubuntu-24.04
0 commit comments