Skip to content

Commit 08fe067

Browse files
authored
Update to debian bookworm as base image (#271)
2 parents 967fb29 + 6068464 commit 08fe067

File tree

6 files changed

+1078
-59
lines changed

6 files changed

+1078
-59
lines changed

.github/workflows/build.yml

Lines changed: 80 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ jobs:
112112
base_build:
113113
strategy:
114114
matrix:
115-
dockerfile: [-bullseye, -threaded-bullseye]
115+
dockerfile: [-bookworm, -threaded-bookworm]
116116
platform: [arm/v7, amd64, arm64, 386]
117117
runs-on: ubuntu-latest
118118
steps:
@@ -139,16 +139,16 @@ jobs:
139139
push: false
140140
target: base
141141
cache-from: |
142-
type=gha,scope=base_linux/${{ matrix.platform }}-${{ matrix.dockerfile }}
143-
cache-to: type=gha,mode=max,scope=base_linux/${{ matrix.platform }}-${{ matrix.dockerfile }}
142+
type=gha,scope=base_linux/${{ matrix.platform }}${{ matrix.dockerfile }}
143+
cache-to: type=gha,mode=max,scope=base_linux/${{ matrix.platform }}${{ matrix.dockerfile }}
144144
tags: baseonly
145145

146146
cpan_build:
147147
needs: [get_dependencies, base_build]
148148
runs-on: ubuntu-latest
149149
strategy:
150150
matrix:
151-
dockerfile: [-bullseye, -threaded-bullseye]
151+
dockerfile: [-bookworm, -threaded-bookworm]
152152
platform: [arm/v7, arm64, 386]
153153
steps:
154154
- name: Checkout this repository
@@ -198,9 +198,9 @@ jobs:
198198
push: false
199199
target: base-cpan
200200
cache-from: |
201-
type=gha,scope=base_linux/${{ matrix.platform }}-${{ matrix.dockerfile }}
202-
type=gha,scope=base-cpan_linux/${{ matrix.platform }}-${{ matrix.dockerfile }}
203-
cache-to: type=gha,mode=max,scope=base-cpan_linux/${{ matrix.platform }}-${{ matrix.dockerfile }}
201+
type=gha,scope=base_linux/${{ matrix.platform }}${{ matrix.dockerfile }}
202+
type=gha,scope=base-cpan_linux/${{ matrix.platform }}${{ matrix.dockerfile }}
203+
cache-to: type=gha,mode=max,scope=base-cpan_linux/${{ matrix.platform }}${{ matrix.dockerfile }}
204204
tags: buildcpanonly
205205

206206

@@ -210,7 +210,7 @@ jobs:
210210
runs-on: ubuntu-latest
211211
strategy:
212212
matrix:
213-
dockerfile: [-bullseye, -threaded-bullseye]
213+
dockerfile: [-bookworm, -threaded-bookworm]
214214
# Steps represent a sequence of tasks that will be executed as part of the job
215215
env:
216216
TAG_LATEST: ${{ (contains(matrix.dockerfile,'threaded') || github.event.release.prerelease == 1) && 'false' || 'auto' }}
@@ -280,9 +280,9 @@ jobs:
280280
push: false
281281
target: with-fhem-bats
282282
cache-from: |
283-
type=gha,scope=fhem_linux/amd64-${{ matrix.dockerfile }}
284-
type=gha,scope=base_linux/amd64-${{ matrix.dockerfile }}
285-
cache-to: type=gha,mode=max,scope=fhem_linux/amd64-${{ matrix.dockerfile }}
283+
type=gha,scope=fhem_linux/amd64${{ matrix.dockerfile }}
284+
type=gha,scope=base_linux/amd64${{ matrix.dockerfile }}
285+
cache-to: type=gha,mode=max,scope=fhem_linux/amd64${{ matrix.dockerfile }}
286286
tags: with-fhem
287287
labels: ${{ steps.meta.outputs.labels }}
288288
build-args: |
@@ -304,7 +304,7 @@ jobs:
304304
push: false
305305
target: with-fhem-bats
306306
cache-from: |
307-
type=gha,scope=fhem_linux/amd64-${{ matrix.dockerfile }}
307+
type=gha,scope=fhem_linux/amd64${{ matrix.dockerfile }}
308308
tags: bats-withfhem
309309
labels: ${{ steps.meta.outputs.labels }}
310310
build-args: |
@@ -338,9 +338,9 @@ jobs:
338338
push: false
339339
target: with-fhem-extended-python-nodejs
340340
cache-from: |
341-
type=gha,scope=full_linux/amd64-${{ matrix.dockerfile }}
342-
type=gha,scope=fhem_linux/amd64-${{ matrix.dockerfile }}
343-
cache-to: type=gha,mode=max,scope=full_linux/amd64-${{ matrix.dockerfile }}
341+
type=gha,scope=full_linux/amd64${{ matrix.dockerfile }}
342+
type=gha,scope=fhem_linux/amd64${{ matrix.dockerfile }}
343+
cache-to: type=gha,mode=max,scope=full_linux/amd64${{ matrix.dockerfile }}
344344
tags: ${{ steps.meta.outputs.tags }}
345345
labels: ${{ steps.meta.outputs.labels }}
346346
build-args: |
@@ -379,8 +379,8 @@ jobs:
379379
push: false
380380
target: with-fhem-bats-extended-python-nodejs
381381
cache-from: |
382-
type=gha,scope=fhem_linux/amd64-${{ matrix.dockerfile }}
383-
type=gha,mode=max,scope=full_linux/amd64-${{ matrix.dockerfile }}
382+
type=gha,scope=fhem_linux/amd64${{ matrix.dockerfile }}
383+
type=gha,mode=max,scope=full_linux/amd64${{ matrix.dockerfile }}
384384
tags: bats-withfhem-extended
385385
labels: ${{ steps.meta.outputs.labels }}
386386
build-args: |
@@ -402,7 +402,7 @@ jobs:
402402
needs: [test_build, cpan_build]
403403
strategy:
404404
matrix:
405-
dockerfile: [-bullseye, -threaded-bullseye]
405+
dockerfile: [-bookworm, -threaded-bookworm]
406406
env:
407407
TAG_LATEST: ${{ (contains(matrix.dockerfile,'threaded') || github.event.release.prerelease == 1) && 'false' || 'auto' }}
408408
# Steps represent a sequence of tasks that will be executed as part of the job
@@ -469,12 +469,13 @@ jobs:
469469
push: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'publishImage') }}
470470
target: with-fhem-extended-python-nodejs
471471
cache-from: |
472-
type=gha,scope=base-cpan_linux/386-${{ matrix.dockerfile }}
473-
type=gha,scope=base-cpan_linux/arm64-${{ matrix.dockerfile }}
474-
type=gha,scope=base-cpan_linux/arm/v7-${{ matrix.dockerfile }}
475-
type=gha,scope=full_linux/amd64-${{ matrix.dockerfile }}
476-
type=gha,scope=full_linux/cross-${{ matrix.dockerfile }}
477-
cache-to: type=gha,mode=max,scope=full_linux/cross-${{ matrix.dockerfile }}
472+
type=gha,scope=base-cpan_linux/386${{ matrix.dockerfile }}
473+
type=gha,scope=base-cpan_linux/arm64${{ matrix.dockerfile }}
474+
type=gha,scope=base-cpan_linux/arm/v7${{ matrix.dockerfile }}
475+
type=gha,scope=full_linux/amd64${{ matrix.dockerfile }}
476+
type=gha,scope=full_linux/arm64${{ matrix.dockerfile }}
477+
type=gha,scope=full_linux/arm/v7${{ matrix.dockerfile }}
478+
#cache-to: type=gha,mode=max,scope=full_linux/cross${{ matrix.dockerfile }}
478479
tags: ${{ steps.meta.outputs.tags }}
479480
labels: ${{ steps.meta.outputs.labels }}
480481
annotations: ${{ steps.meta.outputs.annotations }}
@@ -487,6 +488,54 @@ jobs:
487488
L_AUTHORS=${{ github.server_url }}/${{ github.repository }}/graphs/contributors
488489
L_DESCR=A full blown Docker image for FHEM house automation system, based on Debian Perl ${{ matrix.dockerfile }}.
489490
491+
- name: Cache ARM v7
492+
uses: docker/build-push-action@v6
493+
with:
494+
context: .
495+
load: false
496+
file: ./Dockerfile${{ matrix.dockerfile }}
497+
platforms: linux/arm/v7
498+
push: false
499+
target: with-fhem-extended-python-nodejs
500+
cache-from: |
501+
type=gha,scope=full_linux/arm64${{ matrix.dockerfile }}
502+
cache-to: type=gha,mode=max,scope=full_linux/arm64${{ matrix.dockerfile }}
503+
tags: ${{ steps.meta.outputs.tags }}
504+
labels: ${{ steps.meta.outputs.labels }}
505+
annotations: ${{ steps.meta.outputs.annotations }}
506+
build-args: |
507+
BUILD_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
508+
IMAGE_VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
509+
IMAGE_VCS_REF=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
510+
L_USAGE=${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/README.md
511+
L_VCS_URL=${{ github.server_url }}/${{ github.repository }}/
512+
L_AUTHORS=${{ github.server_url }}/${{ github.repository }}/graphs/contributors
513+
L_DESCR=A full blown Docker image for FHEM house automation system, based on Debian Perl ${{ matrix.dockerfile }}.
514+
515+
- name: Cache ARM 64
516+
uses: docker/build-push-action@v6
517+
with:
518+
context: .
519+
load: false
520+
file: ./Dockerfile${{ matrix.dockerfile }}
521+
platforms: linux/arm/v7
522+
push: false
523+
target: with-fhem-extended-python-nodejs
524+
cache-from: |
525+
type=gha,scope=full_linux/arm/v7${{ matrix.dockerfile }}
526+
cache-to: type=gha,mode=max,scope=full_linux/arm/v7${{ matrix.dockerfile }}
527+
tags: ${{ steps.meta.outputs.tags }}
528+
labels: ${{ steps.meta.outputs.labels }}
529+
annotations: ${{ steps.meta.outputs.annotations }}
530+
build-args: |
531+
BUILD_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
532+
IMAGE_VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
533+
IMAGE_VCS_REF=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
534+
L_USAGE=${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/README.md
535+
L_VCS_URL=${{ github.server_url }}/${{ github.repository }}/
536+
L_AUTHORS=${{ github.server_url }}/${{ github.repository }}/graphs/contributors
537+
L_DESCR=A full blown Docker image for FHEM house automation system, based on Debian Perl ${{ matrix.dockerfile }}.
538+
490539
- name: Docker meta
491540
id: meta_base
492541
uses: docker/metadata-action@v5
@@ -516,12 +565,13 @@ jobs:
516565
push: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'publishImage') }}
517566
target: with-fhem
518567
cache-from: |
519-
type=gha,scope=base_linux/arm64-${{ matrix.dockerfile }}
520-
type=gha,scope=base_linux/amd64-${{ matrix.dockerfile }}
521-
type=gha,scope=base_linux/arm/v7-${{ matrix.dockerfile }}
522-
type=gha,scope=base_linux/386-${{ matrix.dockerfile }}
523-
type=gha,scope=full_linux/amd64-${{ matrix.dockerfile }}
524-
type=gha,scope=full_linux/cross-${{ matrix.dockerfile }}
568+
type=gha,scope=base_linux/arm64${{ matrix.dockerfile }}
569+
type=gha,scope=base_linux/amd64${{ matrix.dockerfile }}
570+
type=gha,scope=base_linux/arm/v7${{ matrix.dockerfile }}
571+
type=gha,scope=base_linux/386${{ matrix.dockerfile }}
572+
type=gha,scope=full_linux/amd64${{ matrix.dockerfile }}
573+
type=gha,scope=full_linux/arm/v7${{ matrix.dockerfile }}
574+
type=gha,scope=full_linux/arm64${{ matrix.dockerfile }}
525575
tags: ${{ steps.meta_base.outputs.tags }}
526576
annotations: ${{ steps.meta_base.outputs.annotations }}
527577
labels: ${{ steps.meta_base.outputs.labels }}

0 commit comments

Comments
 (0)