feat: add PHP 8.5 support and improve CI builds (#81)

* fix(renovate): pin PHP base images to digest-only updates

* feat(php85): add PHP 8.5 with Imagick and Composer

* ci: add php85 to build and PR matrices

* docs: update supported PHP version range to 8.5

* ci: enable GHA build cache for Docker image builds

* fix: address CR feedback — fix DOCKERFILE_PATH, renovate match, composer verify, drop python3-dev

* ci: use native arm64 runners for arm64 Docker builds

* ci: use build-by-digest with manifest merge for multi-arch images

Switch from direct per-arch push to a two-phase workflow:
1. Build phase pushes images by digest and uploads artifacts
2. Merge phase creates multi-arch manifest lists per PHP version

This ensures proper multi-arch manifest tags instead of
last-writer-wins race conditions between arch builds.

* fix: remove continue-on-error and suppress SC2046 shellcheck warning

Remove continue-on-error from build job so failed arch builds correctly
block the merge job from pushing incomplete manifests. Add shellcheck
disable directive for intentional word-splitting in manifest creation.
This commit is contained in:
2026-02-27 04:28:05 +02:00
committed by GitHub
parent 99d3e25d43
commit 92cb1405fa
5 changed files with 129 additions and 12 deletions

11
.github/renovate.json vendored
View File

@@ -1,4 +1,13 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>ivuorinen/renovate-config"]
"extends": ["github>ivuorinen/renovate-config"],
"packageRules": [
{
"description": "Only allow digest updates for PHP base images, not version upgrades",
"matchDatasources": ["docker"],
"matchPackageNames": ["php", "library/php"],
"matchUpdateTypes": ["major", "minor", "patch"],
"enabled": false
}
]
}