4545 matrix :
4646 package_source : [default, nightly]
4747 os : [centos, fedora, opensuse]
48- arch : [amd64]
48+ arch : [amd64, arm64 ]
4949 exclude :
5050 # there are no nightly packages for opensuse
5151 - package_source : nightly
6060 IMG_TAG : ${{ matrix.package_source }}-${{ matrix.os }}-${{ matrix.arch }}
6161 steps :
6262 - uses : actions/checkout@v4
63+ - name : Install QEMU
64+ uses : docker/setup-qemu-action@v3
65+ - name : Install buildx for docker
66+ uses : docker/setup-buildx-action@v3
6367 - name : Build the server image
6468 run : make KIND=server PACKAGE_SOURCE=${{ matrix.package_source }} OS_NAME=${{ matrix.os}} BUILD_ARCH=${{ matrix.arch}} build-image
6569 - name : Upload server image
7478 matrix :
7579 package_source : [default, nightly]
7680 os : [centos, fedora, opensuse]
77- arch : [amd64]
81+ arch : [amd64, arm64 ]
7882 exclude :
7983 # there are no nightly packages for opensuse
8084 - package_source : nightly
8892 IMG_TAG : ${{ matrix.package_source }}-${{ matrix.os }}-${{ matrix.arch }}
8993 steps :
9094 - uses : actions/checkout@v4
95+ - name : Install QEMU
96+ uses : docker/setup-qemu-action@v3
97+ - name : Install buildx for docker
98+ uses : docker/setup-buildx-action@v3
9199 - name : Build the ad server image
92100 run : make KIND=ad-server PACKAGE_SOURCE=${{ matrix.package_source }} OS_NAME=${{ matrix.os }} BUILD_ARCH=${{ matrix.arch }} build-image
93101 - name : Upload ad server image
@@ -101,13 +109,17 @@ jobs:
101109 strategy :
102110 matrix :
103111 os : [centos, fedora, opensuse]
104- arch : [amd64]
112+ arch : [amd64, arm64 ]
105113 runs-on : ubuntu-latest
106114 env :
107115 BUILDAH_FORMAT : oci
108116 IMG_TAG : default-${{ matrix.os }}-${{ matrix.arch }}
109117 steps :
110118 - uses : actions/checkout@v4
119+ - name : Install QEMU
120+ uses : docker/setup-qemu-action@v3
121+ - name : Install buildx for docker
122+ uses : docker/setup-buildx-action@v3
111123 - name : build the client image
112124 run : make KIND=client OS_NAME=${{ matrix.os }} BUILD_ARCH=${{ matrix.arch }} build-image
113125 # The client image is used as a base for the samba-toolbox build process.
@@ -122,14 +134,18 @@ jobs:
122134 strategy :
123135 matrix :
124136 os : [centos, fedora, opensuse]
125- arch : [amd64]
137+ arch : [amd64, arm64 ]
126138 needs : build-client
127139 runs-on : ubuntu-latest
128140 env :
129141 BUILDAH_FORMAT : oci
130142 IMG_TAG : default-${{ matrix.os }}-${{ matrix.arch }}
131143 steps :
132144 - uses : actions/checkout@v4
145+ - name : Install QEMU
146+ uses : docker/setup-qemu-action@v3
147+ - name : Install buildx for docker
148+ uses : docker/setup-buildx-action@v3
133149 # Download locally stored samba-client image to be used as base for building
134150 # samba-toolbox.
135151 - name : Download client image
@@ -158,7 +174,7 @@ jobs:
158174 matrix :
159175 package_source : [default, nightly]
160176 os : [centos, fedora, opensuse]
161- arch : [amd64]
177+ arch : [amd64, arm64 ]
162178 exclude :
163179 # there are no nightly packages for opensuse
164180 - package_source : nightly
@@ -174,6 +190,10 @@ jobs:
174190 IMG_TAG : ${{ matrix.package_source }}-${{ matrix.os }}-${{ matrix.arch }}
175191 steps :
176192 - uses : actions/checkout@v4
193+ - name : Install QEMU
194+ uses : docker/setup-qemu-action@v3
195+ - name : Install buildx for docker
196+ uses : docker/setup-buildx-action@v3
177197 - name : Download server image
178198 uses : ishworkh/container-image-artifact-download@v2.0.0
179199 with :
@@ -250,43 +270,83 @@ jobs:
250270 with :
251271 image : " samba-server:default-fedora-amd64"
252272 container_engine : ${{ env.CONTAINER_CMD }}
273+ - name : Fetch server default-fedora-arm64
274+ uses : ishworkh/container-image-artifact-download@v2.0.0
275+ with :
276+ image : " samba-server:default-fedora-arm64"
277+ container_engine : ${{ env.CONTAINER_CMD }}
253278 - name : Fetch server nightly-fedora-amd64
254279 uses : ishworkh/container-image-artifact-download@v2.0.0
255280 with :
256281 image : " samba-server:nightly-fedora-amd64"
257282 container_engine : ${{ env.CONTAINER_CMD }}
283+ - name : Fetch server nightly-fedora-arm64
284+ uses : ishworkh/container-image-artifact-download@v2.0.0
285+ with :
286+ image : " samba-server:nightly-fedora-arm64"
287+ container_engine : ${{ env.CONTAINER_CMD }}
258288 - name : Fetch server nightly-centos-amd64
259289 uses : ishworkh/container-image-artifact-download@v2.0.0
260290 with :
261291 image : " samba-server:nightly-centos-amd64"
262292 container_engine : ${{ env.CONTAINER_CMD }}
293+ - name : Fetch server nightly-centos-arm64
294+ uses : ishworkh/container-image-artifact-download@v2.0.0
295+ with :
296+ image : " samba-server:nightly-centos-arm64"
297+ container_engine : ${{ env.CONTAINER_CMD }}
263298 - name : Fetch server devbuilds-centos-amd64
264299 uses : ishworkh/container-image-artifact-download@v2.0.0
265300 with :
266301 image : " samba-server:devbuilds-centos-amd64"
267302 container_engine : ${{ env.CONTAINER_CMD }}
303+ - name : Fetch server devbuilds-centos-arm64
304+ uses : ishworkh/container-image-artifact-download@v2.0.0
305+ with :
306+ image : " samba-server:devbuilds-centos-arm64"
307+ container_engine : ${{ env.CONTAINER_CMD }}
268308 # (ad server images)
269309 - name : Fetch ad-server default-fedora-amd64
270310 uses : ishworkh/container-image-artifact-download@v2.0.0
271311 with :
272312 image : " samba-ad-server:default-fedora-amd64"
273313 container_engine : ${{ env.CONTAINER_CMD }}
314+ - name : Fetch ad-server default-fedora-arm64
315+ uses : ishworkh/container-image-artifact-download@v2.0.0
316+ with :
317+ image : " samba-ad-server:default-fedora-arm64"
318+ container_engine : ${{ env.CONTAINER_CMD }}
274319 - name : Fetch ad-server nightly-fedora-amd64
275320 uses : ishworkh/container-image-artifact-download@v2.0.0
276321 with :
277322 image : " samba-ad-server:nightly-fedora-amd64"
278323 container_engine : ${{ env.CONTAINER_CMD }}
324+ - name : Fetch ad-server nightly-fedora-arm64
325+ uses : ishworkh/container-image-artifact-download@v2.0.0
326+ with :
327+ image : " samba-ad-server:nightly-fedora-arm64"
328+ container_engine : ${{ env.CONTAINER_CMD }}
279329 # (client images)
280330 - name : Fetch client default-fedora-amd64
281331 uses : ishworkh/container-image-artifact-download@v2.0.0
282332 with :
283333 image : " samba-client:default-fedora-amd64"
284334 container_engine : ${{ env.CONTAINER_CMD }}
335+ - name : Fetch client default-fedora-arm64
336+ uses : ishworkh/container-image-artifact-download@v2.0.0
337+ with :
338+ image : " samba-client:default-fedora-arm64"
339+ container_engine : ${{ env.CONTAINER_CMD }}
285340 # (toolbox images)
286341 - name : Fetch toolbox default-fedora-amd64
287342 uses : ishworkh/container-image-artifact-download@v2.0.0
288343 with :
289- image : " samba-toolbox:default-fedora-amd64"
344+ image : " samba-toolbox:default-fedora-arm64"
345+ container_engine : ${{ env.CONTAINER_CMD }}
346+ - name : Fetch toolbox default-fedora-amd64
347+ uses : ishworkh/container-image-artifact-download@v2.0.0
348+ with :
349+ image : " samba-toolbox:default-fedora-arm64"
290350 container_engine : ${{ env.CONTAINER_CMD }}
291351 # reapply missing tags
292352 - name : Retag images
@@ -297,13 +357,21 @@ jobs:
297357 --repo-base=${REPO_BASE}
298358 --no-distro-qualified
299359 -i samba-server:default-fedora-amd64
360+ -i samba-server:default-fedora-arm64
300361 -i samba-server:nightly-fedora-amd64
362+ -i samba-server:nightly-fedora-arm64
301363 -i samba-server:nightly-centos-amd64
364+ -i samba-server:nightly-centos-arm64
302365 -i samba-server:devbuilds-centos-amd64
366+ -i samba-server:devbuilds-centos-arm64
303367 -i samba-ad-server:default-fedora-amd64
368+ -i samba-ad-server:default-fedora-arm64
304369 -i samba-ad-server:nightly-fedora-amd64
370+ -i samba-ad-server:nightly-fedora-arm64
305371 -i samba-client:default-fedora-amd64
372+ -i samba-client:default-fedora-arm64
306373 -i samba-toolbox:default-fedora-amd64
374+ -i samba-toolbox:default-fedora-arm64
307375 - name : Push images
308376 run : >
309377 ./hack/build-image
@@ -313,10 +381,18 @@ jobs:
313381 --push-state=exists
314382 --push-selected-tags=mixed
315383 -i ${REPO_BASE}/samba-server:default-fedora-amd64
384+ -i ${REPO_BASE}/samba-server:default-fedora-arm64
316385 -i ${REPO_BASE}/samba-server:nightly-fedora-amd64
386+ -i ${REPO_BASE}/samba-server:nightly-fedora-arm64
317387 -i ${REPO_BASE}/samba-server:nightly-centos-amd64
388+ -i ${REPO_BASE}/samba-server:nightly-centos-arm64
318389 -i ${REPO_BASE}/samba-server:devbuilds-centos-amd64
390+ -i ${REPO_BASE}/samba-server:devbuilds-centos-arm64
319391 -i ${REPO_BASE}/samba-ad-server:default-fedora-amd64
392+ -i ${REPO_BASE}/samba-ad-server:default-fedora-arm64
320393 -i ${REPO_BASE}/samba-ad-server:nightly-fedora-amd64
394+ -i ${REPO_BASE}/samba-ad-server:nightly-fedora-arm64
321395 -i ${REPO_BASE}/samba-client:default-fedora-amd64
396+ -i ${REPO_BASE}/samba-client:default-fedora-arm64
322397 -i ${REPO_BASE}/samba-toolbox:default-fedora-amd64
398+ -i ${REPO_BASE}/samba-toolbox:default-fedora-arm64
0 commit comments