3030 steps :
3131 - name : Checkout repository
3232 uses : actions/checkout@v4
33+ - name : Set up QEMU
34+ uses : docker/setup-qemu-action@v3
35+ - name : Set up Docker Buildx
36+ uses : docker/setup-buildx-action@v3
3337 - name : Login to GitHub Registry
3438 uses : docker/login-action@v3
3539 with :
@@ -43,21 +47,22 @@ jobs:
4347 GITHUB_REPO=${{ github.repository }}
4448 CONTAINER_REPOSITORY=${GITHUB_REPO@L}
4549 echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPOSITORY}/ubuntu-${{ matrix.version.os }}:gcc${{ matrix.version.gcc }}" >> $GITHUB_ENV
46- - name : Build the Docker image
47- working-directory : docker/ubuntu
48- run : |
49- docker build . \
50- --target gcc \
51- --build-arg BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom \
52- --build-arg BUILDKIT_INLINE_CACHE=1 \
53- --build-arg CONAN_VERSION=${{ env.CONAN_VERSION }} \
54- --build-arg GCC_VERSION=${{ matrix.version.gcc }} \
55- --build-arg GITHUB_REPO=${{ github.repository }} \
56- --build-arg NONROOT_USER=${{ env.NONROOT_USER }} \
57- --build-arg UBUNTU_VERSION=${{ matrix.version.os }} \
58- --tag ${{ env.CONTAINER_IMAGE }}
59- - name : Push the Docker image
60- run : docker push ${{ env.CONTAINER_IMAGE }}
50+ - name : Build and push the Docker image
51+ uses : docker/build-push-action@v6
52+ with :
53+ build-args : |
54+ BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom
55+ BUILDKIT_INLINE_CACHE=1
56+ CONAN_VERSION=${{ env.CONAN_VERSION }}
57+ GCC_VERSION=${{ matrix.version.gcc }}
58+ GITHUB_REPO=${{ github.repository }}
59+ NONROOT_USER=${{ env.NONROOT_USER }}
60+ UBUNTU_VERSION=${{ matrix.version.os }}
61+ context : docker/ubuntu
62+ platforms : linux/amd64,linux/arm64
63+ push : true
64+ tags : ${{ env.CONTAINER_IMAGE }}
65+ target : gcc
6166
6267 # Build the Docker image for Ubuntu using different versions of Clang. See
6368 # https://documentation.ubuntu.com/ubuntu-for-developers/reference/availability/llvm/.
7782 steps :
7883 - name : Checkout repository
7984 uses : actions/checkout@v4
85+ - name : Set up QEMU
86+ uses : docker/setup-qemu-action@v3
87+ - name : Set up Docker Buildx
88+ uses : docker/setup-buildx-action@v3
8089 - name : Login to GitHub Registry
8190 uses : docker/login-action@v3
8291 with :
@@ -90,18 +99,19 @@ jobs:
9099 GITHUB_REPO=${{ github.repository }}
91100 CONTAINER_REPOSITORY=${GITHUB_REPO@L}
92101 echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPOSITORY}/ubuntu-${{ matrix.version.os }}:clang${{ matrix.version.clang }}" >> $GITHUB_ENV
93- - name : Build the Docker image
94- working-directory : docker/ubuntu
95- run : |
96- docker build . \
97- --target clang \
98- --build-arg BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom \
99- --build-arg BUILDKIT_INLINE_CACHE=1 \
100- --build-arg CLANG_VERSION=${{ matrix.version.clang }} \
101- --build-arg CONAN_VERSION=${{ env.CONAN_VERSION }} \
102- --build-arg GITHUB_REPO=${{ github.repository }} \
103- --build-arg NONROOT_USER=${{ env.NONROOT_USER }} \
104- --build-arg UBUNTU_VERSION=${{ matrix.version.os }} \
105- --tag ${{ env.CONTAINER_IMAGE }}
106- - name : Push the Docker image
107- run : docker push ${{ env.CONTAINER_IMAGE }}
102+ - name : Build and push the Docker image
103+ uses : docker/build-push-action@v6
104+ with :
105+ build-args : |
106+ BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom
107+ BUILDKIT_INLINE_CACHE=1
108+ CLANG_VERSION=${{ matrix.version.clang }}
109+ CONAN_VERSION=${{ env.CONAN_VERSION }}
110+ GITHUB_REPO=${{ github.repository }}
111+ NONROOT_USER=${{ env.NONROOT_USER }}
112+ UBUNTU_VERSION=${{ matrix.version.os }}
113+ context : docker/ubuntu
114+ platforms : linux/amd64,linux/arm64
115+ push : true
116+ tags : ${{ env.CONTAINER_IMAGE }}
117+ target : clang
0 commit comments