diff --git a/.github/workflows/ci-Dockerfile.yml b/.github/workflows/ci-Dockerfile.yml new file mode 100644 index 0000000000..a04b5f0364 --- /dev/null +++ b/.github/workflows/ci-Dockerfile.yml @@ -0,0 +1,91 @@ +name: CI (test image build for a PR with a Dockerfile change) + +on: + pull_request: + branches: + - "main" + - "release-*" + +jobs: + checks: + runs-on: ubuntu-latest + outputs: + run-test: ${{ steps.check-dockerfile.outputs.should-test }} + + steps: + - uses: actions/checkout@v4 + + - name: What files changed? + id: changed + uses: tj-actions/changed-files@v44 + with: + files: | + Dockerfile + + - name: Check if the `Dockerfile` has been changed in a PR + id: check-dockerfile + env: + IS_PR: ${{ !!github.event.pull_request }} + ANY_MODIFIED: ${{ steps.changed.outputs.any_modified }} + run: | + TEST_IMAGE_BUILD=$( + if [[ $IS_PR == true ]] && [[ $ANY_MODIFIED == true ]]; then + echo "true" + else + echo "false" + fi + ) + + echo "is-pr=$IS_PR" >> "$GITHUB_OUTPUT" + echo "changed=${ANY_MODIFIED:-false}" >> "$GITHUB_OUTPUT" + echo "should-test=$TEST_IMAGE_BUILD" >> "$GITHUB_OUTPUT" + + - name: Summarize findings + env: + ALL: ${{ toJson(steps.changed.outputs) }} + run: | + cat >> "$GITHUB_STEP_SUMMARY" <