From 37f9bd9a8f03d4f24cfda5828e47a6b5ab31d8e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Achim=20Kr=C3=A4mer?= <39946364+pxlfrk@users.noreply.github.com> Date: Wed, 14 Feb 2024 09:07:04 +0100 Subject: [PATCH] Add OCI labels to Docker images (#361) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ add OCI labels, rework tagging Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com> * re-implement existing tagging system Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com> --------- Signed-off-by: Achim Krämer <39946364+pxlfrk@users.noreply.github.com> --- .github/workflows/release.yml | 39 ++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4e04188..917fdf9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,6 +15,38 @@ jobs: - name: Check out the repo uses: actions/checkout@v4 + - name: set Environment Variables + id: env + run: | + echo "NOW=$(date +'%F %Z %T')" >> $GITHUB_ENV + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + # list of Docker images to use as base name for tags + images: | + offen/docker-volume-backup + ghcr.io/offen/docker-volume-backup + # define global behaviour for tags + flavor: | + latest=false + # specify one tag which never gets set, to prevent the tag-attribute being empty, as it will fallback to a default + tags: | + # output v2.42.1-alpha.1 (incl. pre-releases) + type=semver,pattern=v{{version}},enable=false + labels: | + org.opencontainers.image.title=${{github.event.repository.name}} + org.opencontainers.image.description="Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox or SSH compatible storage" + org.opencontainers.image.vendor=${{github.repository_owner}} + org.opencontainers.image.licenses="MPL-2.0" + org.opencontainers.image.version=${{github.ref_name}} + org.opencontainers.image.created=${{ env.NOW }} + org.opencontainers.image.source=${{github.server_url}}/${{github.repository}} + org.opencontainers.image.revision=${{github.sha}} + org.opencontainers.image.url="https://offen.github.io/docker-volume-backup/" + org.opencontainers.image.documentation="https://offen.github.io/docker-volume-backup/" + - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -35,7 +67,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Extract Docker tags - id: meta + id: tags run: | version_tag="${{github.ref_name}}" tags=($version_tag) @@ -51,9 +83,10 @@ jobs: echo "releases=$releases" >> "$GITHUB_OUTPUT" - name: Build and push Docker images - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . push: true platforms: linux/amd64,linux/arm64,linux/arm/v7 - tags: ${{ steps.meta.outputs.releases }} + tags: ${{ steps.tags.outputs.releases }} + labels: ${{ steps.meta.outputs.labels }}