Skip to content

Upgrade production image to PHP 8.5 - #49

Open
daedeloth wants to merge 1 commit into
masterfrom
upgrade/php-8.5
Open

Upgrade production image to PHP 8.5#49
daedeloth wants to merge 1 commit into
masterfrom
upgrade/php-8.5

Conversation

@daedeloth

Copy link
Copy Markdown
Member

Summary

Instead of pinning phpbrake down to PHP 8.0 (#48), this upgrades production to the latest stable PHP.

  • Docker base image: thecodingmachine/php:8.0-v5-slim-apache8.5-v5-slim-apache
  • composer.lock: only nette/schema and nette/utils capped the PHP version; targeted update lifts the cap (composer why-not php 8.5 is now clean). phpbrake stays on v1.0.0 (requires PHP ≥ 8.1, and its remoteConfig constructor bug is fixed there).
  • Keeps the regression test from Pin phpbrake to 0.8.0 for PHP 8.0 compatibility #48: the resolved notifier must keep remoteConfig disabled, otherwise phpbrake phones home to airbrake.io and silently disables all notifications for a self-hosted Errbit.

Verification

  • Full docker build of this branch succeeds (composer platform checks pass inside the container, npm prod build OK)
  • php artisan --version boots inside the built image (Laravel 9.0.2, deprecation warnings only)
  • Unit suite green (7 tests) on PHP 8.5.4
  • Live smoke test against errors.catlab.eu on phpbrake v1.0.0: notice accepted

Notes

  • Laravel 9.0.2 predates official PHP 8.5 support, so expect implicit-nullable deprecation warnings in logs. A follow-up laravel/framework 9.0.* → ^9.52 update (last of the 9.x line, ~3 years of fixes) would quiet most of those; kept out of this PR to keep the diff reviewable.
  • If the deploy misbehaves, dokku retags the previous image on failed builds, and reverting this PR restores PHP 8.0.

🤖 Generated with Claude Code

https://claude.ai/code/session_013HqprN6hPwwHLXeCRbGdgo

Move the Docker base image from PHP 8.0 to 8.5 (latest stable) instead
of pinning dependencies down to PHP 8.0 compatibility. Only nette/schema
and nette/utils capped the platform version in the lock file; updating
them lifts the cap, and phpbrake stays on v1.0.0 which requires PHP 8.1+.

Adds a regression test asserting the notifier keeps remoteConfig
disabled, since phpbrake would otherwise phone home to airbrake.io and
silently disable notifications for a self-hosted Errbit.

Verified: full docker build succeeds, artisan boots in the image, unit
suite green, live smoke test against errors.catlab.eu accepted a notice.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013HqprN6hPwwHLXeCRbGdgo
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