@@ -3,32 +3,54 @@ name: Generate Dockerfiles/patches
33on :
44 push :
55 branches :
6- - ' ** '
6+ - master
77 tags-ignore :
88 - ' *'
99 pull_request :
10+ paths :
11+ - cpanfile
12+ - config.yml
13+ - generate.pl
14+ - .github/workflows/generate-dockerfiles-patches.yml
1015
1116jobs :
1217 generate :
1318 runs-on : ubuntu-latest
19+
1420 steps :
21+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
22+
1523 - name : Set up git user name and email
1624 run : |
1725 git config --global user.email "test@github-actions"
1826 git config --global user.name "GitHub Actions"
19- - uses : actions/checkout@master
27+
2028 - name : Install system perl and cpanm
2129 run : |
22- sudo apt-get install --no-install-recommends -y perl cpanminus
30+ sudo apt-get update && sudo apt-get install -y --no-install-recommends perl cpanminus
31+
2332 - name : Install dependencies
2433 run : |
25- cpanm --quiet --installdeps --notest -L local .
34+ sudo cpanm --quiet --installdeps --notest .
35+
2636 - name : Generate Dockerfiles/patches
37+ id : generate
2738 run : |
28- perl -Ilocal/lib/perl5 ./generate.pl
29- - name : Show diffstat (if any)
30- run : |
31- git --no-pager diff --stat HEAD
32- - name : Show diffstat (if any)
39+ export DOCKER_PERL_DOWNLOADS_DIR=/tmp/docker-perl-downloads
40+ perl ./generate.pl
41+ /usr/bin/git --no-pager diff --stat > diffstat.txt
42+ if [[ -s diffstat.txt ]]; then
43+ echo has_extra_diffs=1 >> $GITHUB_OUTPUT
44+ fi
45+
46+ - name : Fail if there are extra diffs
47+ if : steps.generate.outputs.has_extra_diffs
3348 run : |
34- git --no-pager diff --stat HEAD
49+ echo "::error title=generate::Extra diffs found during generate"
50+ echo "Additional changes found during generate - check diffstat below:"
51+ echo "::group::diffstat"
52+ cat diffstat.txt
53+ echo "::endgroup::"
54+ echo
55+
56+ exit 1
0 commit comments