Files
multiarch-docker-images/.github/workflows/build.yml
2024-05-24 23:39:48 +02:00

43 lines
1.3 KiB
YAML

name: CI to Docker Hub
on: [push, pull_request, workflow_dispatch]
jobs:
multi:
env:
BUILD_PLATFORMS: linux/amd64,linux/arm/v7,linux/arm64
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
repository: [dnsupdater, rsync-server, sshd, webhook, gandi, http-tunnel, piwigo-souvenirs, restic-auto, restic-rest, shairport-sync, telegraf]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load specific environment
run: if [ -f ${{ matrix.repository }}/.build-env ] ; then cat ${{ matrix.repository }}/.build-env >> $GITHUB_ENV ; fi
- 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.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ matrix.repository }}/
file: ${{ matrix.repository }}/Dockerfile
platforms: ${{ env.BUILD_PLATFORMS }}
push: true
tags: |
${{ secrets.DOCKER_HUB_USERNAME }}/${{ matrix.repository }}:latest