diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4e04188f..917fdf9a 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 }}