index : static-web-server.git

ascending towards madness

author Jose Quintana <1700322+joseluisq@users.noreply.github.com> 2023-06-28 0:08:40.0 +00:00:00
committer GitHub <noreply@github.com> 2023-06-28 0:08:40.0 +00:00:00
commit
4a10635155f25157937ade4b65abe4668305bbd4 [patch]
tree
768a61d1f5a778366b0573bb04d1d5a30b74d933
parent
424d229dc7939434d1eb16414fb9608d53d90d54
download
4a10635155f25157937ade4b65abe4668305bbd4.tar.gz

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:<tag-name>

Diff

 .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 }}