@@ -24,28 +24,28 @@ jobs:
2424 - platform : linux/arm64
2525 runner : ubuntu-24.04-arm
2626 os :
27- - distro : bookworm
27+ - release : bookworm
2828 compiler_name : gcc
2929 compiler_version : 12
30- - distro : bookworm
30+ - release : bookworm
3131 compiler_name : gcc
3232 compiler_version : 13
33- - distro : bookworm
33+ - release : bookworm
3434 compiler_name : gcc
3535 compiler_version : 14
36- - distro : bookworm
36+ - release : bookworm
3737 compiler_name : clang
3838 compiler_version : 16
39- - distro : bookworm
39+ - release : bookworm
4040 compiler_name : clang
4141 compiler_version : 17
42- - distro : bookworm
42+ - release : bookworm
4343 compiler_name : clang
4444 compiler_version : 18
45- - distro : bookworm
45+ - release : bookworm
4646 compiler_name : clang
4747 compiler_version : 19
48- - distro : bookworm
48+ - release : bookworm
4949 compiler_name : clang
5050 compiler_version : 20
5151 runs-on : ${{ matrix.architecture.runner }}
@@ -67,10 +67,25 @@ jobs:
6767 - name : Determine the Docker image name.
6868 run : |
6969 # Convert the repository name to lowercase as the organization name is
70- # uppercase, which is not permitted by the Docker registry.
70+ # uppercase, which is not permitted by the Docker registry. It's 2025 and GitHub
71+ # still does not provide convenient action expression syntax for lowercase.
7172 GITHUB_REPO=${{ github.repository }}
72- CONTAINER_REPOSITORY=${GITHUB_REPO@L}
73- echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPOSITORY}/debian-${{ matrix.os.distro }}:${{ matrix.os.compiler_name }}${{ matrix.os.compiler_version }}" >> $GITHUB_ENV
73+ CONTAINER_REPO=${GITHUB_REPO@L}
74+ echo "CONTAINER_REPOSITORY=${CONTAINER_REPO}/debian-${{ matrix.os.release }}" >> $GITHUB_ENV
75+ echo "CONTAINER_IMAGE=${CONTAINER_REGISTRY}/${CONTAINER_REPO}/debian-${{ matrix.os.release }}" >> $GITHUB_ENV
76+ - name : Prepare container metadata
77+ id : meta
78+ uses : docker/metadata-action@v5
79+ with :
80+ images : ${{ env.CONTAINER_IMAGE }}
81+ tags : |
82+ type=raw,value=${{ matrix.os.compiler_name }}-${{ matrix.os.compiler_version }}
83+ type=sha,prefix=${{ matrix.os.compiler_name }}-${{ matrix.os.compiler_version }}-sha-
84+ labels : |
85+ org.opencontainers.image.authors=For inquiries, please use https://github.com/XRPLF/ci/issues
86+ org.opencontainers.image.documentation=https://github.com/XRPLF/ci
87+ org.opencontainers.image.vendor=XRPLF
88+ org.opencontainers.image.title=${{ env.CONTAINER_REPOSITORY }}
7489 - name : Build and push the Docker image
7590 uses : docker/build-push-action@v6
7691 with :
@@ -79,15 +94,15 @@ jobs:
7994 BUILDKIT_INLINE_CACHE=1
8095 CLANG_VERSION=${{ matrix.os.compiler_name == 'clang' && matrix.os.compiler_version || '' }}
8196 CONAN_VERSION=${{ env.CONAN_VERSION }}
82- DEBIAN_VERSION=${{ matrix.os.distro }}
97+ DEBIAN_VERSION=${{ matrix.os.release }}
8398 GCC_VERSION=${{ matrix.os.compiler_name == 'gcc' && matrix.os.compiler_version || '' }}
8499 GITHUB_REPO=${{ github.repository }}
85100 NONROOT_USER=${{ env.NONROOT_USER }}
86101 context : docker/debian
87102 outputs : type=image,name=${{ env.CONTAINER_IMAGE }},push-by-digest=true,name-canonical=true,push=true
88103 platforms : ${{ matrix.architecture.platform }}
89104 provenance : mode=max
90- push : true
105+ push : ${{ github.event_name != 'pull_request' }}
91106 sbom : true
92- tags : ${{ env.CONTAINER_IMAGE }}
107+ labels : ${{ steps.meta.outputs.labels }}
93108 target : ${{ matrix.os.compiler_name }}
0 commit comments