Skip to main content

php-ci 1.4.0: PHP 8.4, GHCR mirror and a new :latest

· 2 min read
Himanshu Ramavat
Maintainer of php-ci

php-ci 1.4.0 is out. This release adds PHP 8.4 images, mirrors every tag to the GitHub Container Registry, and hardens the build and release workflows.

New features

PHP 8.4 images

The newest PHP line is now available:

docker pull himanshuramavat/php-ci:8.4

Add a "future PHP" column to your matrix to catch deprecations before they become breaking changes:

strategy:
matrix:
php: ['8.1', '8.2', '8.3', '8.4']
container:
image: himanshuramavat/php-ci:${{ matrix.php }}

GitHub Container Registry mirror

Every tag is now also published to GHCR, which avoids Docker Hub pull-rate limits on shared CI runners:

docker pull ghcr.io/himanshuramavat/php-ci:8.3

Both registries carry identical tags and digests — pick whichever suits your runner. See the Docker Tags reference.

More extensions

The image ships the extensions commonly needed in CI runs (database drivers, intl/string handling, image processing, etc.). See the PHP Extensions page for the current list.

Changes

  • Rolling tags are rebuilt regularly to pick up upstream PHP and base-OS security patches.
  • Composer is included in the image for CI usage.

Fixes

  • Fixed an intl ICU data mismatch that affected locale-sensitive tests.

Upgrade notes

  • Pin a concrete PHP tag (:8.3, :8.4, etc.) for reproducible pipelines.
  • TYPO3 functional tests can run on SQLite via pdo_sqlite; MySQL users should confirm the mysql:8.0 service image still matches their expectations.

Full changelog

See the complete Changelog for every entry, and the GitHub release for the tagged artefacts.

Thanks to everyone who reported issues and tested the 8.4 images during the pre-release. As always, feedback is welcome on GitHub.