Skip to content

refactor: simplify image builds - #28

Draft
munezaclovis wants to merge 1 commit into
mainfrom
agent/simplify-image-build
Draft

refactor: simplify image builds#28
munezaclovis wants to merge 1 commit into
mainfrom
agent/simplify-image-build

Conversation

@munezaclovis

@munezaclovis munezaclovis commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • replace per-release binary versions and architecture checksums with supported major channels, package repositories, and upstream installers
  • track PHP 8.4/8.5 minor image tags so FrankenPHP supplies the current patch release
  • install current compatible sqlsrv/pdo_sqlsrv and current svgo
  • replace Zinit with a straightforward Oh My Zsh setup in development and plain Zsh in production
  • simplify the bake matrix, scheduled refresh behavior, image export/load flow, and manifest publishing
  • remove the unsafe wip helper and redundant x wrapper

Why

The existing update path required changing versions and checksums throughout the Dockerfile even when only an upstream patch release changed. This keeps intentional compatibility boundaries (PHP/Node/pnpm/Composer major or minor channels and the Debian variants) while allowing routine upstream updates to flow through scheduled builds.

This is the consolidated follow-up to the pinning discussion in #27.

Tag impact

Exact PHP patch tags are no longer generated. Published tags track the supported PHP minor (php8.4, php8.5) plus the existing latest, PHP-major, Debian, and development aliases.

Validation

  • docker build --pull --build-arg VERSION=8.5-trixie --target dev -t frankenphp:simplified-dev .
  • docker run --rm -v "$PWD/test.php:/test.php:ro" frankenphp:simplified-dev php /test.php dev
  • docker run --rm frankenphp:simplified-dev zsh -i -c 'echo dev-shell-ok'
  • docker build --pull --build-arg VERSION=8.5-trixie --target prod -t frankenphp:simplified-prod .
  • docker run --rm -v "$PWD/test.php:/test.php:ro" frankenphp:simplified-prod php /test.php production
  • docker build --pull --build-arg VERSION=8.4-bookworm --target prod -t frankenphp:simplified-bookworm-prod .
  • docker run --rm -v "$PWD/test.php:/test.php:ro" frankenphp:simplified-bookworm-prod php /test.php production
  • docker buildx bake --print
  • docker build --check --build-arg VERSION=8.5-trixie --target dev .
  • actionlint .github/workflows/pipeline.yml
  • zsh -n .zshrc .zshrc.prod
  • php -l test.php
  • git diff --check

All local checks passed on arm64; the PR workflow covers both supported architectures.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7043c098-67ee-41c3-a304-27d507990c80

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant