128 lines
3.6 KiB
YAML
128 lines
3.6 KiB
YAML
name: Docker image builds
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
|
|
jobs:
|
|
docker-alpine32:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v2
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: Build and push (alpine 32bit)
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: ./docker/alpine32
|
|
push: true
|
|
tags: hasufell/i386-alpine-haskell:3.12
|
|
platforms: |
|
|
linux/i386
|
|
linux/amd64
|
|
|
|
docker-alpine:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v2
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: Build and push (alpine 64bit)
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: ./docker/alpine64
|
|
push: true
|
|
tags: hasufell/alpine-haskell:3.12
|
|
platforms: linux/amd64
|
|
|
|
docker-arm32:
|
|
runs-on: [self-hosted, Linux, ARM64]
|
|
steps:
|
|
- uses: docker://arm64v8/ubuntu:focal
|
|
name: Cleanup (aarch64 linux)
|
|
continue-on-error: true
|
|
with:
|
|
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build and push (debian buster)
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: ./docker/arm32v7/buster
|
|
push: true
|
|
tags: hasufell/arm32v7-debian-haskell:10
|
|
platforms: linux/arm
|
|
|
|
- name: Build and push (ubuntu focal)
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: ./docker/arm32v7/focal
|
|
push: true
|
|
tags: hasufell/arm32v7-ubuntu-haskell:focal
|
|
platforms: linux/arm
|
|
|
|
docker-aarch:
|
|
runs-on: [self-hosted, Linux, ARM64]
|
|
steps:
|
|
- uses: docker://arm64v8/ubuntu:focal
|
|
name: Cleanup (aarch64 linux)
|
|
continue-on-error: true
|
|
with:
|
|
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build and push (debian buster)
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: ./docker/arm64v8/buster
|
|
push: true
|
|
tags: hasufell/arm64v8-debian-haskell:10
|
|
platforms: linux/arm64
|
|
|
|
- name: Build and push (ubuntu focal)
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: ./docker/arm64v8/focal
|
|
push: true
|
|
tags: hasufell/arm64v8-ubuntu-haskell:focal
|
|
platforms: linux/arm64
|