Skip to content

Commit

Permalink
Add a GitHub Action CI check to ensure Dockerfile changes actually wo…
Browse files Browse the repository at this point in the history
…rk (#248)
  • Loading branch information
reivilibre authored Aug 10, 2021
1 parent 9dabdbd commit 6d62a28
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/docker_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# GitHub actions workflow which builds the docker images.
# This is useful as it will run in PRs that change the Dockerfile, and can be
# an early source of warnings that the Dockerfile isn't right.
# This check also triggers when this file itself is modified.

name: Check Docker image can be built successfully

on:
push:
paths:
- 'docker/Dockerfile'
- '.github/workflows/docker_check.yml'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v1
with:
platforms: arm64

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1

- name: Inspect builder
run: docker buildx inspect

# we explicitly check out the repository (and use `context: .` in buildx)
# because we need to preserve the git metadata so that setuptools_scm
# (as part of Sygnal's setup.py) can deduce the package version.
# See: https://github.com/marketplace/actions/build-and-push-docker-images#path-context
- name: Checkout
uses: actions/checkout@v2

- name: Build all platforms
uses: docker/build-push-action@v2
with:
context: .
push: false
labels: "gitsha1=${{ github.sha }}"
file: "docker/Dockerfile"
platforms: linux/amd64,linux/arm64
1 change: 1 addition & 0 deletions changelog.d/248.docker
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CI now checks that the Docker image still builds after the Dockerfile is modified.

0 comments on commit 6d62a28

Please sign in to comment.