diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 6693643..b9c3dee 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -2,29 +2,20 @@ name: Docker Image CI on: push: - branches: [ master ] + branches: [ main ] jobs: - build: + build-host-amd64v4: runs-on: ubuntu-latest steps: - #- - # name: Set up QEMU - # uses: docker/setup-qemu-action@v3 - #- - # name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - - - name: Check Out Repo + - name: Check Out Repo uses: actions/checkout@v4 - - - name: Login to DockerHub + - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push mainline/alpine + - name: Build and push mainline/alpine (Linux x86_64-v4) uses: docker/build-push-action@v5 with: context: ./ @@ -33,8 +24,7 @@ jobs: tags: docker.io/denji/nginx-libressl:mainline-alpine cache-from: type=registry,ref=docker.io/denji/nginx-libressl:mainline-alpine cache-to: type=inline - - - name: Build and push stable/alpine + - name: Build and push stable/alpine (Linux x86_64-v4) uses: docker/build-push-action@v5 with: context: ./ @@ -42,4 +32,174 @@ jobs: push: true tags: docker.io/denji/nginx-libressl:stable-alpine cache-from: type=registry,ref=docker.io/denji/nginx-libressl:stable-alpine - cache-to: type=inline \ No newline at end of file + cache-to: type=inline + build-arm64: + runs-on: ubuntu-latest + steps: + - name: Check Out Repo + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push mainline/alpine (Linux AArch64 - ARMv8) + uses: docker/build-push-action@v5 + with: + context: ./ + file: mainline-alpine.Dockerfile + platforms: linux/arm64 + push: true + tags: docker.io/denji/nginx-libressl:mainline-aarch64-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:mainline-aarch64-alpine + cache-to: type=inline + - name: Build and push stable/alpine (Linux AArch64 - ARMv8) + uses: docker/build-push-action@v5 + with: + context: ./ + file: stable-alpine.Dockerfile + platforms: linux/arm64 + push: true + tags: docker.io/denji/nginx-libressl:stable-aarch64-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:stable-aarch64-alpine + cache-to: type=inline + build-armv7: + runs-on: ubuntu-latest + steps: + - name: Check Out Repo + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push mainline/alpine (Linux ARMv7 - 32-bit) + uses: docker/build-push-action@v5 + with: + context: ./ + file: mainline-alpine.Dockerfile + platforms: linux/arm/v7 + push: true + tags: docker.io/denji/nginx-libressl:mainline-armv7-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:mainline-armv7-alpine + cache-to: type=inline + - name: Build and push stable/alpine (Linux ARMv7 - 32-bit) + uses: docker/build-push-action@v5 + with: + context: ./ + file: stable-alpine.Dockerfile + platforms: linux/arm/v7 + push: true + tags: docker.io/denji/nginx-libressl:stable-armv7-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:stable-armv7-alpine + cache-to: type=inline + #build-armhf: + # runs-on: ubuntu-latest + # steps: + # - name: Check Out Repo + # uses: actions/checkout@v4 + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v3 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Build and push mainline/alpine (Linux armhf - 32-bit hard-float ABI ARMv6) + # uses: docker/build-push-action@v5 + # with: + # context: ./ + # file: mainline-alpine.Dockerfile + # platforms: linux/arm/v6 + # push: true + # tags: docker.io/denji/nginx-libressl:mainline-armhf-alpine + # cache-from: type=registry,ref=docker.io/denji/nginx-libressl:mainline-armhf-alpine + # cache-to: type=inline + # - name: Build and push stable/alpine (Linux armhf - 32-bit hard-float ABI ARMv6) + # uses: docker/build-push-action@v5 + # with: + # context: ./ + # file: stable-alpine.Dockerfile + # platforms: linux/arm/v6 + # push: true + # tags: docker.io/denji/nginx-libressl:stable-armhf-alpine + # cache-from: type=registry,ref=docker.io/denji/nginx-libressl:stable-armhf-alpine + # cache-to: type=inline + build-s390x: + runs-on: ubuntu-latest + steps: + - name: Check Out Repo + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push mainline/alpine (Linux s390x - IBM System Z Based) + uses: docker/build-push-action@v5 + with: + context: ./ + file: mainline-alpine.Dockerfile + platforms: linux/s390x + push: true + tags: docker.io/denji/nginx-libressl:mainline-s390x-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:mainline-s390x-alpine + cache-to: type=inline + - name: Build and push stable/alpine (Linux s390x - IBM System Z Based) + uses: docker/build-push-action@v5 + with: + context: ./ + file: stable-alpine.Dockerfile + platforms: linux/s390x + push: true + tags: docker.io/denji/nginx-libressl:stable-s390x-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:stable-s390x-alpine + cache-to: type=inline + build-ppc64le: + runs-on: ubuntu-latest + steps: + - name: Check Out Repo + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push mainline/alpine (Linux ppc64le - 64-bit PowerPC little-endian) + uses: docker/build-push-action@v5 + with: + context: ./ + file: mainline-alpine.Dockerfile + platforms: linux/ppc64le + push: true + tags: docker.io/denji/nginx-libressl:mainline-ppc64le-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:mainline-ppc64le-alpine + cache-to: type=inline + - name: Build and push stable/alpine (Linux ppc64le - 64-bit PowerPC little-endian) + uses: docker/build-push-action@v5 + with: + context: ./ + file: stable-alpine.Dockerfile + platforms: linux/ppc64le + push: true + tags: docker.io/denji/nginx-libressl:stable-ppc64le-alpine + cache-from: type=registry,ref=docker.io/denji/nginx-libressl:stable-ppc64le-alpine + cache-to: type=inline