From 4a10635155f25157937ade4b65abe4668305bbd4 Mon Sep 17 00:00:00 2001 From: Jose Quintana <1700322+joseluisq@users.noreply.github.com> Date: Wed, 28 Jun 2023 02:08:40 +0200 Subject: [PATCH] feat: ghcr docker images (#232) it allows all multi-arch docker images to be also pushed to ghcr.io as part of the project's organization. ghcr.io/static-web-server/static-web-server: --- .github/workflows/release.docker.yml | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.docker.yml b/.github/workflows/release.docker.yml index b3ce8f5..fdf609f 100644 --- a/.github/workflows/release.docker.yml +++ b/.github/workflows/release.docker.yml @@ -22,7 +22,9 @@ jobs: id: meta_alpine uses: docker/metadata-action@v4 with: - images: joseluisq/static-web-server + images: | + joseluisq/static-web-server + ghcr.io/static-web-server/static-web-server flavor: | latest=false suffix=-alpine @@ -40,11 +42,17 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - + name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Prepare Docker envs shell: bash run: | echo "SERVER_VERSION=${GITHUB_REF##*/v}" >> $GITHUB_ENV - echo "SERVER_DOCKERFILE=./docker/alpine/Dockerfile" >> $GITHUB_ENV - name: Build and push (alpine) uses: docker/build-push-action@v4 @@ -52,7 +60,7 @@ jobs: push: true context: . platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6 - file: ${{ env.SERVER_DOCKERFILE }} + file: ./docker/alpine/Dockerfile tags: ${{ steps.meta_alpine.outputs.tags }} build-args: | SERVER_VERSION=${{ env.SERVER_VERSION }} @@ -75,7 +83,9 @@ jobs: id: meta_debian uses: docker/metadata-action@v4 with: - images: joseluisq/static-web-server + images: | + joseluisq/static-web-server + ghcr.io/static-web-server/static-web-server flavor: | latest=false suffix=-debian @@ -93,11 +103,17 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - + name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Prepare Docker envs shell: bash run: | echo "SERVER_VERSION=${GITHUB_REF##*/v}" >> $GITHUB_ENV - echo "SERVER_DOCKERFILE=./docker/debian/Dockerfile" >> $GITHUB_ENV - name: Build and push (debian) uses: docker/build-push-action@v4 @@ -105,7 +121,7 @@ jobs: push: true context: . platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6 - file: ${{ env.SERVER_DOCKERFILE }} + file: ./docker/debian/Dockerfile tags: ${{ steps.meta_debian.outputs.tags }} build-args: | SERVER_VERSION=${{ env.SERVER_VERSION }} @@ -127,7 +143,9 @@ jobs: id: meta_scratch uses: docker/metadata-action@v4 with: - images: joseluisq/static-web-server + images: | + joseluisq/static-web-server + ghcr.io/static-web-server/static-web-server tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} @@ -142,11 +160,17 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - + name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Prepare Docker envs shell: bash run: | echo "SERVER_VERSION=${GITHUB_REF##*/v}" >> $GITHUB_ENV - echo "SERVER_DOCKERFILE=./docker/scratch/Dockerfile" >> $GITHUB_ENV - name: Build and push (scratch) uses: docker/build-push-action@v4 @@ -154,7 +178,7 @@ jobs: push: true context: . platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6 - file: ${{ env.SERVER_DOCKERFILE }} + file: ./docker/scratch/Dockerfile tags: ${{ steps.meta_scratch.outputs.tags }} build-args: | SERVER_VERSION=${{ env.SERVER_VERSION }} -- libgit2 1.7.2