Skip to main content

Docker Tags

php-ci follows a small, predictable tagging convention so you always know exactly what you're pulling.

Convention

himanshuramavat/php-ci:<php-version>
himanshuramavat/php-ci:<php-version>-v<x.y.z>
himanshuramavat/php-ci:latest
  • <php-version> — a PHP minor line: 8.1, 8.2, 8.3, 8.4.
  • <php>-v<x.y.z> — immutable release tag for reproducible pinning.
  • latest — moving alias for the highest PHP version published (currently 8.4).

Base variant matrix

Image tagPHP versionStatus
himanshuramavat/php-ci:latest8.4 (alias)Moving alias
himanshuramavat/php-ci:8.48.4.xActive — newest
himanshuramavat/php-ci:8.38.3.xActive — recommended
himanshuramavat/php-ci:8.28.2.xSecurity fixes only
himanshuramavat/php-ci:8.18.1.xSecurity fixes only

Registries

The image is published to two registries with identical tags. Pick whichever avoids rate limits for your runner.

# Docker Hub (primary)
docker pull himanshuramavat/php-ci:8.3

# GitHub Container Registry (mirror)
docker pull ghcr.io/himanshuramavat/php-ci:8.3

Choosing a tag

GoalUse
New project, sensible default:8.3
Longest support runway:8.4
Legacy compatibility check:8.1
Quick local experiment:latest
Don't use :latest in CI

:latest moves to a new PHP line over time. Pin a concrete tag (:8.3) — or a digest — so your pipeline stays reproducible.

Rebuild cadence

All active tags are rebuilt periodically to pick up upstream PHP and base-OS security patches. The PHP minor line behind each tag does not change between rebuilds — only patch-level and OS updates are absorbed. Release notes are posted to the blog and the Changelog.