From 81e3a716a879b82932a0eb42a7bc21bdc6b83058 Mon Sep 17 00:00:00 2001 From: Fabian Peter Hammerle Date: Sat, 5 Jul 2025 08:16:23 +0200 Subject: [PATCH] github pipeline: push multi-arch container image to ghcr.io https://github.com/fphammerle/systemctl-mqtt/commit/53f0033606bf64efaa71a280f5dedb12bbfe17d3 https://github.com/fphammerle/systemctl-mqtt/commit/c3f74a933bdbbdfe58a9afb2a6e8e33db88f9c65 https://github.com/fphammerle/docker-postfix/commit/d3511fc5941d9f15bf6a066bc0313749740c7581 https://github.com/fphammerle/docker-radicale/commit/8418a5d1eb1ace8cd5ab3bd01f1248d16e48d5c5 https://github.com/fphammerle/docker-postsrsd/commit/dccb24fdbc115c21827f43dc1d1ea2bb785f6747 --- .github/workflows/container-image.yml | 36 ++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml index eda3f76..5011019 100644 --- a/.github/workflows/container-image.yml +++ b/.github/workflows/container-image.yml @@ -1,5 +1,4 @@ -# sync with https://github.com/fphammerle/docker-onion-service/blob/master/.github/workflows/container-image.yml - +--- name: container image on: @@ -11,16 +10,47 @@ on: jobs: docker-build: runs-on: ubuntu-24.04 + permissions: {packages: write} steps: + - id: meta + # > "automatic" tag management and OCI Image Format Spec… for labels + # https://web.archive.org/web/20250103123053/https://docs.docker.com/build/ci/github-actions/manage-tags-labels/ + uses: docker/metadata-action@v5 + with: + # see comment on `push: true` below + images: ghcr.io/${{ github.repository_owner }}/tor-proxy + # https://web.archive.org/web/20250103130404/https://github.com/docker/metadata-action?tab=readme-ov-file#tags-input + tags: | + type=ref,event=branch + type=ref,event=pr + type=sha,format=long + type=raw,value=latest,enable=false - uses: docker/setup-qemu-action@v3.6.0 + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - uses: docker/setup-buildx-action@v3.11.1 # > By default, this action uses the Git context so you don't need to use # > the actions/checkout action to checkout the repository because this # > will be done directly by buildkit. [...] - # > any file mutation in the steps that precede [...] will be ignored + # > any file mutation in the steps that precede [...] will be ignored, + # > including processing of the .dockerignore file # https://github.com/marketplace/actions/build-and-push-docker-images + # > The commit history is not preserved. + # https://docs.docker.com/engine/reference/commandline/build/#git-repositories - uses: docker/build-push-action@v6.18.0 with: platforms: | linux/amd64 + linux/arm/v6 linux/arm/v7 + linux/arm64 + # > Require approval for all external contributors + # > All users that are not a member or owner of this repository will + # > require approval to run workflows. + # https://github.com/fphammerle/docker-tor-proxy/settings/actions + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}