Skip to content

Commit 68cd7cc

Browse files
committed
Use docker build and push action
1 parent 566595a commit 68cd7cc

File tree

3 files changed

+119
-89
lines changed

3 files changed

+119
-89
lines changed

.github/workflows/debian.yml

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ jobs:
2929
steps:
3030
- name: Checkout repository
3131
uses: actions/checkout@v4
32+
- name: Set up QEMU
33+
uses: docker/setup-qemu-action@v3
34+
- name: Set up Docker Buildx
35+
uses: docker/setup-buildx-action@v3
3236
- name: Login to GitHub Registry
3337
uses: docker/login-action@v3
3438
with:
@@ -42,21 +46,22 @@ jobs:
4246
GITHUB_REPO=${{ github.repository }}
4347
CONTAINER_REPOSITORY=${GITHUB_REPO@L}
4448
echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPOSITORY}/debian-${{ matrix.version.os }}:gcc${{ matrix.version.gcc }}" >> $GITHUB_ENV
45-
- name: Build the Docker image
46-
working-directory: docker/debian
47-
run: |
48-
docker build . \
49-
--target gcc \
50-
--build-arg BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom \
51-
--build-arg BUILDKIT_INLINE_CACHE=1 \
52-
--build-arg CONAN_VERSION=${{ env.CONAN_VERSION }} \
53-
--build-arg DEBIAN_VERSION=${{ matrix.version.os }} \
54-
--build-arg GCC_VERSION=${{ matrix.version.gcc }} \
55-
--build-arg GITHUB_REPO=${{ github.repository }} \
56-
--build-arg NONROOT_USER=${{ env.NONROOT_USER }} \
57-
--tag ${{ env.CONTAINER_IMAGE }}
58-
- name: Push the Docker image
59-
run: docker push ${{ env.CONTAINER_IMAGE }}
49+
- name: Build and push the Docker image
50+
uses: docker/build-push-action@v6
51+
with:
52+
build-args: |
53+
BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom
54+
BUILDKIT_INLINE_CACHE=1
55+
CONAN_VERSION=${{ env.CONAN_VERSION }}
56+
DEBIAN_VERSION=${{ matrix.version.os }}
57+
GCC_VERSION=${{ matrix.version.gcc }}
58+
GITHUB_REPO=${{ github.repository }}
59+
NONROOT_USER=${{ env.NONROOT_USER }}
60+
context: docker/debian
61+
platforms: linux/amd64,linux/arm64
62+
push: true
63+
tags: ${{ env.CONTAINER_IMAGE }}
64+
target: gcc
6065

6166
# Build the Docker image for Debian using different versions of Clang.
6267
clang:
@@ -77,6 +82,10 @@ jobs:
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}/debian-${{ matrix.version.os }}:clang${{ matrix.version.clang }}" >> $GITHUB_ENV
93-
- name: Build the Docker image
94-
working-directory: docker/debian
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 DEBIAN_VERSION=${{ matrix.version.os }} \
103-
--build-arg GITHUB_REPO=${{ github.repository }} \
104-
--build-arg NONROOT_USER=${{ env.NONROOT_USER }} \
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+
DEBIAN_VERSION=${{ matrix.version.os }}
111+
GITHUB_REPO=${{ github.repository }}
112+
NONROOT_USER=${{ env.NONROOT_USER }}
113+
context: docker/debian
114+
platforms: linux/amd64,linux/arm64
115+
push: true
116+
tags: ${{ env.CONTAINER_IMAGE }}
117+
target: clang

.github/workflows/rhel.yml

Lines changed: 39 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ jobs:
2929
steps:
3030
- name: Checkout repository
3131
uses: actions/checkout@v4
32+
- name: Set up QEMU
33+
uses: docker/setup-qemu-action@v3
34+
- name: Set up Docker Buildx
35+
uses: docker/setup-buildx-action@v3
3236
- name: Login to GitHub Registry
3337
uses: docker/login-action@v3
3438
with:
@@ -48,21 +52,22 @@ jobs:
4852
GITHUB_REPO=${{ github.repository }}
4953
CONTAINER_REPOSITORY=${GITHUB_REPO@L}
5054
echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPOSITORY}/rhel-${{ matrix.version.os }}:gcc${{ matrix.version.gcc }}" >> $GITHUB_ENV
51-
- name: Build the Docker image
52-
working-directory: docker/rhel
53-
run: |
54-
docker build . \
55-
--target gcc \
56-
--build-arg BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom \
57-
--build-arg BUILDKIT_INLINE_CACHE=1 \
58-
--build-arg GCC_VERSION=${{ matrix.version.gcc }} \
59-
--build-arg CONAN_VERSION=${{ env.CONAN_VERSION }} \
60-
--build-arg GITHUB_REPO=${{ github.repository }} \
61-
--build-arg NONROOT_USER=${{ env.NONROOT_USER }} \
62-
--build-arg RHEL_VERSION=${{ matrix.version.os }} \
63-
--tag ${{ env.CONTAINER_IMAGE }}
64-
- name: Push the Docker image
65-
run: docker push ${{ env.CONTAINER_IMAGE }}
55+
- name: Build and push the Docker image
56+
uses: docker/build-push-action@v6
57+
with:
58+
build-args: |
59+
BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom
60+
BUILDKIT_INLINE_CACHE=1
61+
CONAN_VERSION=${{ env.CONAN_VERSION }}
62+
GCC_VERSION=${{ matrix.version.gcc }}
63+
GITHUB_REPO=${{ github.repository }}
64+
NONROOT_USER=${{ env.NONROOT_USER }}
65+
RHEL_VERSION=${{ matrix.version.os }}
66+
context: docker/rhel
67+
platforms: linux/amd64,linux/arm64
68+
push: true
69+
tags: ${{ env.CONTAINER_IMAGE }}
70+
target: gcc
6671

6772
# Build the Docker image for Red Hat Enterprise Linux using Clang. As we use
6873
# the free UBIs we cannot select specific versions of Clang and only get what
@@ -76,6 +81,10 @@ jobs:
7681
steps:
7782
- name: Checkout repository
7883
uses: actions/checkout@v4
84+
- name: Set up QEMU
85+
uses: docker/setup-qemu-action@v3
86+
- name: Set up Docker Buildx
87+
uses: docker/setup-buildx-action@v3
7988
- name: Login to GitHub Registry
8089
uses: docker/login-action@v3
8190
with:
@@ -95,17 +104,18 @@ jobs:
95104
GITHUB_REPO=${{ github.repository }}
96105
CONTAINER_REPOSITORY=${GITHUB_REPO@L}
97106
echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPOSITORY}/rhel-${{ matrix.version.os }}:clang" >> $GITHUB_ENV
98-
- name: Build the Docker image
99-
working-directory: docker/rhel
100-
run: |
101-
docker build . \
102-
--target clang \
103-
--build-arg BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom \
104-
--build-arg BUILDKIT_INLINE_CACHE=1 \
105-
--build-arg CONAN_VERSION=${{ env.CONAN_VERSION }} \
106-
--build-arg GITHUB_REPO=${{ github.repository }} \
107-
--build-arg NONROOT_USER=${{ env.NONROOT_USER }} \
108-
--build-arg RHEL_VERSION=${{ matrix.version.os }} \
109-
--tag ${{ env.CONTAINER_IMAGE }}
110-
- name: Push the Docker image
111-
run: docker push ${{ env.CONTAINER_IMAGE }}
107+
- name: Build and push the Docker image
108+
uses: docker/build-push-action@v6
109+
with:
110+
build-args: |
111+
BUILDKIT_DOCKERFILE_CHECK=skip=InvalidDefaultArgInFrom
112+
BUILDKIT_INLINE_CACHE=1
113+
CONAN_VERSION=${{ env.CONAN_VERSION }}
114+
GITHUB_REPO=${{ github.repository }}
115+
NONROOT_USER=${{ env.NONROOT_USER }}
116+
RHEL_VERSION=${{ matrix.version.os }}
117+
context: docker/rhel
118+
platforms: linux/amd64,linux/arm64
119+
push: true
120+
tags: ${{ env.CONTAINER_IMAGE }}
121+
target: clang

.github/workflows/ubuntu.yml

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ jobs:
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/.
@@ -77,6 +82,10 @@ jobs:
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

Comments
 (0)