Thanks for taking the time to contribute! Below are the guidelines for working on this project.
- Getting Started
- Branch Structure
- Types of Contributions
- Local Development
- Commit Style
- Pull Request Process
- Code of Conduct
- Fork the repository and clone your fork
- Ensure you have Docker with Buildx and QEMU installed for multi-arch builds
docker buildx create --use
docker run --rm --privileged multiarch/qemu-user-static --reset -p yesThis project follows git flow:
| Branch | Purpose |
|---|---|
master |
Latest stable release |
develop |
Integration branch — all features merge here first |
feature/<name> |
New features or distro additions |
bugfix/<name> |
Bug fixes targeting develop |
hotfix/<name> |
Critical fixes targeting master directly |
release/<version> |
Release preparation |
All pull requests should target develop, except hotfixes which target master.
- Create a
feature/<distro>-<version>branch fromdevelop - Add the new entry to
matrix.json:{ "distro": "debian", "version": "forky-slim", "platforms": "linux/amd64,linux/arm64" } - Test the build locally (see Local Development)
- Open a pull request against
develop
- Create a
feature/<distro>branch fromdevelop - Create a
<distro>/Dockerfilefollowing the conventions of existing Dockerfiles:- Use
ARG VERSION=<default>beforeFROM - Use
FROM --platform=$TARGETPLATFORM <distro>:${VERSION} - Re-declare
ARG VERSIONafterFROM - Include a single
LABELwithmaintainer,distro, andversion - Install Ansible via pip
- Create
/etc/ansible/hostswith a local inventory entry
- Use
- Add all desired versions to
matrix.json - Add the distro name to the
hadolintmatrix in.github/workflows/ci.yml - Add label rules to
.github/labeler.yml - Open a pull request against
develop
- Create a
bugfix/<name>branch fromdevelop(orhotfix/<name>frommasterfor critical issues) - Make your fix
- Test locally
- Open a pull request
docker buildx build \
--platform linux/amd64 \
--build-arg VERSION=bookworm-slim \
--load \
-t test/debian:bookworm-slim \
./debiandocker run --rm test/debian:bookworm-slim ansible --version
docker run --rm test/debian:bookworm-slim python3 --version
docker run --rm test/debian:bookworm-slim test -f /etc/ansible/hosts && echo "inventory ok"docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg VERSION=bookworm-slim \
./debiandocker run --rm -i hadolint/hadolint < debian/DockerfileUse short, descriptive commit messages in the imperative mood:
add fedora 42 to matrix
fix rockylinux 8 python pip install
update debian bullseye to use --break-system-packages
- Ensure your branch is up to date with
developbefore opening a PR - Fill out the pull request template completely
- If you added or removed a distro or version, confirm
matrix.jsonis updated - The CI pipeline (lint → build → test) must pass before merging
- A maintainer will review and merge your PR
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold these standards.