From 5c00dcb241d2223cb88c2df813e77f9c6e5a1b20 Mon Sep 17 00:00:00 2001 From: Robin Alexander Date: Mon, 15 Jun 2026 18:29:09 +0200 Subject: [PATCH 1/7] Drop the schedule trigger from build_image_release.yml --- .github/workflows/build_image_release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build_image_release.yml b/.github/workflows/build_image_release.yml index 044d7fa..8e28d33 100644 --- a/.github/workflows/build_image_release.yml +++ b/.github/workflows/build_image_release.yml @@ -1,8 +1,6 @@ name: Build release image on: - schedule: - - cron: '0 1 * * 6' workflow_dispatch: jobs: From 1049bd96af02a128975ad53caa11354a370e7cfe Mon Sep 17 00:00:00 2001 From: Robin Alexander Date: Mon, 15 Jun 2026 18:31:43 +0200 Subject: [PATCH 2/7] Add argument appAddSha for consistency with build_image_develop.yml --- .github/workflows/build_image_release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_image_release.yml b/.github/workflows/build_image_release.yml index 8e28d33..263e7d4 100644 --- a/.github/workflows/build_image_release.yml +++ b/.github/workflows/build_image_release.yml @@ -8,6 +8,7 @@ jobs: uses: ./.github/workflows/build_and_publish.yml with: appGitRefs: ${{ vars.VERSION_LIBREBOOKING }} + appAddSha: false imgBuild: ${{ vars.IMAGE_BUILD }} regName: ${{ vars.REGISTRY_URL }} regLogin: ${{ vars.REGISTRY_LOGIN }} From 2272fbe8abffc49a9c13c6935286502684c75af7 Mon Sep 17 00:00:00 2001 From: Robin Alexander Date: Mon, 15 Jun 2026 18:44:23 +0200 Subject: [PATCH 3/7] Bump default php version to 8.5.7 in Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9dc8834..7f8565e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG VERSION_PHP=8.3 +ARG VERSION_PHP=8.5.7 ARG VERSION_COMPOSER=lts ARG VERSION_GIT=2.52.0 From 01baa5ed2efe6fecff1c5f45c14109baa7b5194f Mon Sep 17 00:00:00 2001 From: Robin Alexander Date: Mon, 15 Jun 2026 18:54:02 +0200 Subject: [PATCH 4/7] Stop specifying the platforms with docker/setup-qemu-action --- .github/workflows/build_and_publish.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build_and_publish.yml b/.github/workflows/build_and_publish.yml index 6579466..6587790 100644 --- a/.github/workflows/build_and_publish.yml +++ b/.github/workflows/build_and_publish.yml @@ -37,8 +37,6 @@ jobs: - name: Setup QEMU uses: docker/setup-qemu-action@v4 - with: - platforms: 'amd64,arm64,arm' - name: Setup Docker buildx uses: docker/setup-buildx-action@v4 From c8c25cacba36c1bec29b780f62e1fd60838a86f3 Mon Sep 17 00:00:00 2001 From: Robin Alexander Date: Mon, 15 Jun 2026 19:05:44 +0200 Subject: [PATCH 5/7] Drop legacy platform linux/arm/v7 --- .github/workflows/build_and_publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish.yml b/.github/workflows/build_and_publish.yml index 6587790..06b0914 100644 --- a/.github/workflows/build_and_publish.yml +++ b/.github/workflows/build_and_publish.yml @@ -68,7 +68,7 @@ jobs: uses: docker/build-push-action@v7 with: context: . - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64,linux/arm64 build-args: | VERSION_PHP=${{ vars.VERSION_PHP }} VERSION_COMPOSER=${{ vars.VERSION_COMPOSER }} From 098b11b5b1f38f3b391508c8716943b753c3562f Mon Sep 17 00:00:00 2001 From: Robin Alexander Date: Tue, 16 Jun 2026 14:14:23 +0200 Subject: [PATCH 6/7] Distribute build across multiple runners https://docs.docker.com/build/ci/github-actions/multi-platform/ --- .github/workflows/build_and_publish.yml | 64 +++++++++---------------- 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build_and_publish.yml b/.github/workflows/build_and_publish.yml index 06b0914..db052a1 100644 --- a/.github/workflows/build_and_publish.yml +++ b/.github/workflows/build_and_publish.yml @@ -24,55 +24,37 @@ on: description: docker registry access token required: true +permissions: + contents: read + jobs: - build: + prepare: runs-on: ubuntu-latest + outputs: + appTag: ${{ steps.get_meta.outputs.appTag }} steps: - - - name: Checkout github repository - uses: actions/checkout@v6 - with: - repository: ${{ vars.DOCKER_REPOSITORY }} - ref: ${{ inputs.imgBuild }} - - - name: Setup QEMU - uses: docker/setup-qemu-action@v4 - - - name: Setup Docker buildx - uses: docker/setup-buildx-action@v4 - name: Get the docker image metadata id: get_meta run: | appTag=$(basename ${{ inputs.appGitRefs }} | sed -e "s/^[vV]//") echo "appTag=$appTag" >> $GITHUB_OUTPUT - - - name: Set the docker image metadata - id: set_meta - uses: docker/metadata-action@v6 - with: - images: ${{ inputs.regLogin }}/librebooking - tags: | - type=raw,value=${{ steps.get_meta.outputs.appTag }},suffix=-${{ inputs.imgBuild }} - type=raw,value=${{ steps.get_meta.outputs.appTag }} - - - name: Log into registry - uses: docker/login-action@v4 - with: - registry: ${{ inputs.regName }} + build: + needs: prepare + uses: docker/github-builder/.github/workflows/build.yml@v1 + permissions: + contents: read + id-token: write + with: + output: image + push: true + platforms: linux/amd64,linux/arm64 + meta-images: ${{ inputs.regLogin }}/librebooking + meta-tags: | + type=raw,value=${{ needs.prepare.outputs.appTag }},suffix=-${{ inputs.imgBuild }} + type=raw,value=${{ needs.prepare.outputs.appTag }} + secrets: + registry-auths: | + - registry: ${{ inputs.regName }} username: ${{ inputs.regLogin }} password: ${{ secrets.REGISTRY_TOKEN }} - - - name: Build and push Docker image - id: build-and-push - uses: docker/build-push-action@v7 - with: - context: . - platforms: linux/amd64,linux/arm64 - build-args: | - VERSION_PHP=${{ vars.VERSION_PHP }} - VERSION_COMPOSER=${{ vars.VERSION_COMPOSER }} - APP_GH_REF=${{ inputs.appGitRefs }} - APP_GH_ADD_SHA=${{ inputs.appAddSha }} - tags: ${{ steps.set_meta.outputs.tags }} - push: true From 1372e7bc29c8328f873fa337f3d7660ff19c14d0 Mon Sep 17 00:00:00 2001 From: Robin ALEXANDER Date: Tue, 16 Jun 2026 14:42:54 +0200 Subject: [PATCH 7/7] Rename repository variables for consistency --- .github/workflows/build_image_develop.yml | 16 ++++++++-------- .github/workflows/build_image_release.yml | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_image_develop.yml b/.github/workflows/build_image_develop.yml index 612e090..e1eeb47 100644 --- a/.github/workflows/build_image_develop.yml +++ b/.github/workflows/build_image_develop.yml @@ -6,13 +6,13 @@ on: workflow_dispatch: jobs: - build-develop: - uses: ./.github/workflows/build_and_publish.yml - with: - appGitRefs: develop - appAddSha: true - imgBuild: ${{ vars.IMAGE_BUILD }} - regName: ${{ vars.REGISTRY_URL }} - regLogin: ${{ vars.REGISTRY_LOGIN }} + build-develop: + uses: ./.github/workflows/build_and_publish.yml + with: + appGitRefs: develop + appAddSha: true + imgBuild: ${{ vars.VERSION_LB_IMG }} + regName: ${{ vars.REGISTRY_URL }} + regLogin: ${{ vars.REGISTRY_LOGIN }} secrets: REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} diff --git a/.github/workflows/build_image_release.yml b/.github/workflows/build_image_release.yml index 263e7d4..b0ff4dd 100644 --- a/.github/workflows/build_image_release.yml +++ b/.github/workflows/build_image_release.yml @@ -7,9 +7,9 @@ jobs: build-stable: uses: ./.github/workflows/build_and_publish.yml with: - appGitRefs: ${{ vars.VERSION_LIBREBOOKING }} + appGitRefs: ${{ vars.VERSION_LB_APP }} appAddSha: false - imgBuild: ${{ vars.IMAGE_BUILD }} + imgBuild: ${{ vars.VERSION_LB_IMG }} regName: ${{ vars.REGISTRY_URL }} regLogin: ${{ vars.REGISTRY_LOGIN }} secrets: