From b70a0aa571a59d420fb06ca27d1729d0bad0aabd Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 16 Mar 2026 22:45:28 +0000 Subject: [PATCH] docs: Add CONTRIBUTING.md, point README at it Keep README concise; detailed development workflow (prerequisites, env var configuration, examples) lives in CONTRIBUTING.md. Assisted-by: OpenCode (Claude Opus 4) --- CONTRIBUTING.md | 24 ++++++++++++++++++++++++ README.md | 20 ++++---------------- 2 files changed, 28 insertions(+), 16 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b938ef9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Contributing to fedora-bootc base images + +## Prerequisites + +Everything revolves around our Containerfile, but there's +a high level wrapper in `Justfile` which you should use. +So installing `podman` (or `buildah`) and `just` are strongly recommended. + +## Building and testing + +Run `just --list` to see available targets and `just show-config` to +see current settings. The Justfile is also what CI invokes, so anything +you run locally is the same as what runs in the pipeline. + +Configuration is via environment variables — see the comments at the +top of the `Justfile` for the full list. For example: + +```bash +just build # defaults +TIER=minimal just build # different tier +FEDORA_VERSION=43 just test # different Fedora version +BUILDER=podman just build # use podman instead of buildah +just ci # full CI run (validate + test all tiers) +``` diff --git a/README.md b/README.md index 5659663..9df7915 100644 --- a/README.md +++ b/README.md @@ -18,28 +18,17 @@ If you want total control over the image, you don't need to fork this repository Instead, you can use the existing container as a "builder" to make new images. For more information, see the documentation[6]. -## Build process +## Contributing -Building the images in this repo can be done with `podman build`, but -note the build process uses a special podman-ecosystem specific mechanism -to create fully custom images while inside a `Containerfile`. -You need to enable some privileges as nested containerization is required. - -```bash -podman build --security-opt=label=disable --cap-add=all \ - --device /dev/fuse -t localhost/fedora-bootc . -``` - -See the `Containerfile` for more details. This builds the default `standard` image. +See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development workflow. ## Fedora versions By default, the base images are built for Fedora rawhide. To build against a -different Fedora version, you can override the `FROM` image used to obtain the -Fedora repos and dnf variables. E.g.: +different Fedora version: ```bash -podman build --from quay.io/fedora/fedora:41 ... +FEDORA_VERSION=43 just build ``` ## Content sets/tiers @@ -69,7 +58,6 @@ one stakeholder of each Fedora variant WGs. | ------- | -------- | ------- | ------------ | | Rawhide | quay.io/bootc-devel/fedora-bootc-rawhide-standard | quay.io/bootc-devel/fedora-bootc-rawhide-minimal | quay.io/bootc-devel/fedora-bootc-rawhide-minimal-plus | | Fedora 43 | quay.io/bootc-devel/fedora-bootc-43-standard | quay.io/bootc-devel/fedora-bootc-43-minimal | quay.io/bootc-devel/fedora-bootc-43-minimal-plus | -| Fedora 42 | quay.io/bootc-devel/fedora-bootc-42-standard | quay.io/bootc-devel/fedora-bootc-42-minimal | quay.io/bootc-devel/fedora-bootc-42-minimal-plus | ## More information