name: Build and test (linux matrix) on: [push] jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: dockerenv: - debian:trixie - debian:bookworm - debian:bullseye - ubuntu:noble - ubuntu:jammy - ubuntu:focal - fedora/fedora:42 - fedora/fedora:41 - fedora/fedora:40 - centos/centos:stream10 - centos/centos:stream9 - rockylinux/rockylinux:9 - rockylinux/rockylinux:8 - alpine:edge - alpine:3.21 steps: - uses: actions/checkout@v4 - name: Work around Docker BuildKit regression # https://github.com/moby/buildkit/issues/2119: `DOCKER_BUILDKIT=1 docker build` fails if Dockerfile is a symlink run: [ -L .github/images/${{matrix.dockerenv}}.Dockerfile ] && cp --remove-destination $(readlink -f .github/images/${{matrix.dockerenv}}.Dockerfile) .github/images/${{matrix.dockerenv}}.Dockerfile - name: Run build on ${{matrix.dockerenv}} run: docker build . --file .github/images/${{matrix.dockerenv}}.Dockerfile --build-arg image=${{matrix.dockerenv}}