0.50.25 #1859
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ChangeDetection.io Container Build Test | |
# Triggers the workflow on push or pull request events | |
# This line doesnt work, even tho it is the documented one | |
#on: [push, pull_request] | |
on: | |
push: | |
paths: | |
- requirements.txt | |
- Dockerfile | |
- .github/workflows/* | |
- .github/test/Dockerfile* | |
pull_request: | |
paths: | |
- requirements.txt | |
- Dockerfile | |
- .github/workflows/* | |
- .github/test/Dockerfile* | |
# Changes to requirements.txt packages and Dockerfile may or may not always be compatible with arm etc, so worth testing | |
# @todo: some kind of path filter for requirements.txt and Dockerfile | |
jobs: | |
builder: | |
name: Build ${{ matrix.platform }} (${{ matrix.dockerfile == './Dockerfile' && 'main' || 'alpine' }}) | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
# Main Dockerfile platforms | |
- platform: linux/amd64 | |
dockerfile: ./Dockerfile | |
- platform: linux/arm64 | |
dockerfile: ./Dockerfile | |
- platform: linux/arm/v7 | |
dockerfile: ./Dockerfile | |
- platform: linux/arm/v8 | |
dockerfile: ./Dockerfile | |
# Alpine Dockerfile platforms (musl via alpine check) | |
- platform: linux/amd64 | |
dockerfile: ./.github/test/Dockerfile-alpine | |
- platform: linux/arm64 | |
dockerfile: ./.github/test/Dockerfile-alpine | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v6 | |
with: | |
python-version: 3.11 | |
# Just test that the build works, some libraries won't compile on ARM/rPi etc | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
image: tonistiigi/binfmt:latest | |
platforms: all | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
install: true | |
version: latest | |
driver-opts: image=moby/buildkit:master | |
- name: Test that the docker containers can build (${{ matrix.platform }} - ${{ matrix.dockerfile }}) | |
id: docker_build | |
uses: docker/build-push-action@v6 | |
# https://github.com/docker/build-push-action#customizing | |
with: | |
context: ./ | |
file: ${{ matrix.dockerfile }} | |
platforms: ${{ matrix.platform }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=min | |