2727
2828 # bookworm base images only exist for 5.36 and newer.
2929 # use default tags for 5.36 and newer
30- prepare-matrix-bookworm :
30+ prepare-matrix-bookworm-extra :
3131 runs-on : ubuntu-latest
3232 name : " List perl versions [bookworm]"
3333 outputs :
4141 to-perl : ' 5.40'
4242 with-devel : ' false'
4343
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
4645 prepare-matrix-bookworm-defaults :
4746 runs-on : ubuntu-latest
4847 name : " List perl versions [bookworm defaults]"
@@ -114,42 +113,24 @@ jobs:
114113 buildargs : BASE=${{ matrix.perl-version }}-buster,CPANOUTDATED=1
115114 tags : " ${{ matrix.perl-version }}-buster,${{ matrix.perl-version }}"
116115
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 :
144117 name : " Build versions for bookworm"
145118 runs-on : ubuntu-latest
146119 needs :
120+ - prepare-matrix-bookworm-extra
147121 - prepare-matrix-bookworm-defaults
148122
149123 strategy :
150124 fail-fast : false
151125 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+
153134 steps :
154135 - uses : actions/checkout@v4
155136 - name : Publish to Registry
@@ -160,4 +141,4 @@ jobs:
160141 password : ${{ secrets.DOCKER_GITHUB_TOKEN }}
161142 dockerfile : Dockerfile
162143 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