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:<php-version>-deploy
himanshuramavat/php-ci:<php-version>-deploy-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.<php>-deploy— opt-in deploy variant (currently 8.4-deploy only) withrsyncandopenssh-client. See Deploy Variant.<php>-deploy-v<x.y.z>— immutable deploy release tag.latest— moving alias for the highest PHP version published (currently 8.4).
Base variant matrix
| Image tag | PHP version | Status |
|---|---|---|
himanshuramavat/php-ci:latest | 8.4 (alias) | Moving alias |
himanshuramavat/php-ci:8.4 | 8.4.x | Active — newest |
himanshuramavat/php-ci:8.3 | 8.3.x | Active — recommended |
himanshuramavat/php-ci:8.2 | 8.2.x | Security fixes only |
himanshuramavat/php-ci:8.1 | 8.1.x | Security fixes only |
Deploy variant
Opt-in image for pipelines that rsync or SSH artifacts to remote hosts. Same PHP stack as the base tag, plus deploy utilities. Not included in default tags.
| Image tag | PHP version | Extra tools | Status |
|---|---|---|---|
himanshuramavat/php-ci:8.4-deploy | 8.4.x | rsync, openssh-client | Active |
Immutable deploy pins: 8.4-deploy-v<x.y.z>. Full guide:
Deploy Variant.
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
- Docker Hub: hub.docker.com/r/himanshuramavat/php-ci
- GHCR package: github.com/himanshuramavat/php-ci/pkgs/container/php-ci
Choosing a tag
| Goal | Use |
|---|---|
| New project, sensible default | :8.3 |
| Longest support runway | :8.4 |
| Legacy compatibility check | :8.1 |
| Quick local experiment | :latest |
| Deploy over SSH / rsync (PHP 8.4) | :8.4-deploy |
: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.