name: "Test build of image when Dockerfile is changed" on: push: paths: - 'Dockerfile' branches-ignore: - master pull_request: paths: - 'Dockerfile' workflow_dispatch: jobs: rebuild-container: name: "Build image with cache" runs-on: ubuntu-latest steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3.0.0 with: platforms: linux/arm64 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.3.0 - name: Checkout repository uses: actions/checkout@v4 - name: Build x86_64 image id: docker_build_amd64 uses: docker/build-push-action@v5.3.0 with: push: false load: true platforms: linux/amd64 tags: sentrum:amd64 cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/sentrum:latest - name: Test-run x86_64 image run: | docker run --rm sentrum:amd64 & PID=$! sleep 5 kill -SIGINT $PID # this will return a non-zero exit code if the container dies early on - name: Build ARMv8 image id: docker_build_arm64 uses: docker/build-push-action@v5.3.0 with: push: false load: true platforms: linux/arm64 tags: sentrum:arm64 cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/sentrum:latest