Add OCI labels to Docker images (#361)

*  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>
This commit is contained in:
Achim Krämer 2024-02-14 09:07:04 +01:00 committed by GitHub
parent fb4663b087
commit 37f9bd9a8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,6 +15,38 @@ jobs:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v4 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 - name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
@ -35,7 +67,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker tags - name: Extract Docker tags
id: meta id: tags
run: | run: |
version_tag="${{github.ref_name}}" version_tag="${{github.ref_name}}"
tags=($version_tag) tags=($version_tag)
@ -51,9 +83,10 @@ jobs:
echo "releases=$releases" >> "$GITHUB_OUTPUT" echo "releases=$releases" >> "$GITHUB_OUTPUT"
- name: Build and push Docker images - name: Build and push Docker images
uses: docker/build-push-action@v4 uses: docker/build-push-action@v5
with: with:
context: . context: .
push: true push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: ${{ steps.meta.outputs.releases }} tags: ${{ steps.tags.outputs.releases }}
labels: ${{ steps.meta.outputs.labels }}