Skip to main content

Contributing

Thanks for your interest in improving php-ci! Contributions of all kinds are welcome — bug reports, documentation fixes, new extensions and CI recipes.

Ways to contribute

  • Report a bug — open an issue with reproduction steps and the exact image tag.
  • Request an extension or tool — describe your use case so we can weigh it for the base image.
  • Improve the docs — every page has an "Edit this page" link at the bottom.
  • Submit a fix or feature — open a pull request (see below).

Reporting a good issue

Include:

  1. The image tag (e.g. himanshuramavat/php-ci:8.3).
  2. The command you ran and its full output.
  3. What you expected to happen.
  4. Your CI provider, if relevant.
# Handy: capture the environment in your report
docker run --rm himanshuramavat/php-ci:8.3 bash -c 'php --version; composer --version; php -m'

Development workflow

  1. Fork the repository and clone your fork.

  2. Create a branch: git checkout -b feat/add-redis-extension.

  3. Make your change to the Dockerfile or supporting scripts.

  4. Build and test locally:

    docker build -t php-ci:dev --build-arg PHP_VERSION=8.3 .
    docker run --rm php-ci:dev php -m
  5. Commit using clear, conventional messages:

    feat: add redis pecl extension to base image
    fix: correct ICU data path for intl
    docs: clarify GitLab service hostname
  6. Push and open a pull request against main.

Pull request checklist

  • The image builds for every affected PHP version (8.1–8.4).
  • New extensions/tools are documented in the reference pages.
  • The Changelog has an entry under "Unreleased".
  • Commit messages follow the conventional format above.
  • You agree to license your contribution under the project's MIT license.

Code of Conduct

By participating you agree to abide by our Code of Conduct. Be kind and constructive.

Questions

Open a discussion or issue — we're happy to help you get a contribution across the line.