Skip to content

Commit

Permalink
Docker image for multi-arch arm64/armv7/s390x/ppc64le
Browse files Browse the repository at this point in the history
  • Loading branch information
denji committed Feb 24, 2024
1 parent 608e5c2 commit 0c6ce1f
Showing 1 changed file with 177 additions and 17 deletions.
194 changes: 177 additions & 17 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: ./
Expand All @@ -33,13 +24,182 @@ 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: ./
file: stable-alpine.Dockerfile
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
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

0 comments on commit 0c6ce1f

Please sign in to comment.