@@ -3,32 +3,54 @@ name: Generate Dockerfiles/patches
3
3
on :
4
4
push :
5
5
branches :
6
- - ' ** '
6
+ - master
7
7
tags-ignore :
8
8
- ' *'
9
9
pull_request :
10
+ paths :
11
+ - cpanfile
12
+ - config.yml
13
+ - generate.pl
14
+ - .github/workflows/generate-dockerfiles-patches.yml
10
15
11
16
jobs :
12
17
generate :
13
18
runs-on : ubuntu-latest
19
+
14
20
steps :
21
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
22
+
15
23
- name : Set up git user name and email
16
24
run : |
17
25
git config --global user.email "test@github-actions"
18
26
git config --global user.name "GitHub Actions"
19
- - uses : actions/checkout@master
27
+
20
28
- name : Install system perl and cpanm
21
29
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
+
23
32
- name : Install dependencies
24
33
run : |
25
- cpanm --quiet --installdeps --notest -L local .
34
+ sudo cpanm --quiet --installdeps --notest .
35
+
26
36
- name : Generate Dockerfiles/patches
37
+ id : generate
27
38
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
33
48
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