27
27
28
28
# bookworm base images only exist for 5.36 and newer.
29
29
# use default tags for 5.36 and newer
30
- prepare-matrix-bookworm :
30
+ prepare-matrix-bookworm-extra :
31
31
runs-on : ubuntu-latest
32
32
name : " List perl versions [bookworm]"
33
33
outputs :
41
41
to-perl : ' 5.40'
42
42
with-devel : ' false'
43
43
44
- # bookworm base images only exist for 5.36 and newer.
45
- # use default tags for 5.36 and newer
44
+ # Similar to the `matrix-bookworm` job, but also add the default tag like `5.42` to the list
46
45
prepare-matrix-bookworm-defaults :
47
46
runs-on : ubuntu-latest
48
47
name : " List perl versions [bookworm defaults]"
@@ -114,42 +113,24 @@ jobs:
114
113
buildargs : BASE=${{ matrix.perl-version }}-buster,CPANOUTDATED=1
115
114
tags : " ${{ matrix.perl-version }}-buster,${{ matrix.perl-version }}"
116
115
117
- build-bookworm :
118
- name : " Build versions for bookworm"
119
- runs-on : ubuntu-latest
120
- needs :
121
- - prepare-matrix-bookworm
122
-
123
- strategy :
124
- fail-fast : false
125
- matrix :
126
- perl-version : ${{ fromJson (needs.prepare-matrix-bookworm.outputs.perl-versions) }}
127
- steps :
128
- - uses : actions/checkout@v4
129
- - name : Publish to Registry
130
- uses : elgohr/Publish-Docker-Github-Action@v5
131
- with :
132
- name : ${{ secrets.DOCKER_REPO }}
133
- username : ${{ secrets.DOCKER_USERNAME }}
134
- password : ${{ secrets.DOCKER_GITHUB_TOKEN }}
135
- dockerfile : Dockerfile
136
- buildargs : BASE=${{ matrix.perl-version }}-slim-bookworm,CPANOUTDATED=1
137
- tags : " ${{ matrix.perl-version }}-slim-bookworm"
138
-
139
- # #
140
- # # This is similar to `build-bookworm` but with the extra default tag for the Perl version
141
- # #
142
-
143
- build-bookworm-defaults :
116
+ build-bookworm-unified :
144
117
name : " Build versions for bookworm"
145
118
runs-on : ubuntu-latest
146
119
needs :
120
+ - prepare-matrix-bookworm-extra
147
121
- prepare-matrix-bookworm-defaults
148
122
149
123
strategy :
150
124
fail-fast : false
151
125
matrix :
152
- perl-version : ${{ fromJson (needs.prepare-matrix-bookworm-defaults.outputs.perl-versions) }}
126
+ include :
127
+ # Regular bookworm builds (5.36-5.40)
128
+ - perl-versions : ${{ fromJson(needs.prepare-matrix-bookworm-extra.outputs.perl-versions) }}
129
+ add-default-tag : false
130
+ # Default bookworm builds (5.42+)
131
+ - perl-versions : ${{ fromJson(needs.prepare-matrix-bookworm-defaults.outputs.perl-versions) }}
132
+ add-default-tag : true
133
+
153
134
steps :
154
135
- uses : actions/checkout@v4
155
136
- name : Publish to Registry
@@ -160,4 +141,4 @@ jobs:
160
141
password : ${{ secrets.DOCKER_GITHUB_TOKEN }}
161
142
dockerfile : Dockerfile
162
143
buildargs : BASE=${{ matrix.perl-version }}-slim-bookworm,CPANOUTDATED=1
163
- tags : " ${{ matrix.perl-version }} -slim-bookworm,${{ matrix.perl-version }}"
144
+ tags : ${{ matrix.add-default-tag == 'true' && format('{0} -slim-bookworm,{0}', matrix.perl-version) || format('{0}-slim-bookworm', matrix.perl-version) }}
0 commit comments