Skip to main content

Hacking on osbuild/images

Local development environment

To build most binaries defined in cmd and run tests you will need to install the following dependencies:

dnf -y install gpgme-devel btrfs-progs-devel krb5-devel

To generate manifests, you will need to install the following dependencies:

dnf -y install osbuild osbuild-depsolve-dnf osbuild-luks2 osbuild-lvm2 osbuild-ostree osbuild-selinux

Commits and Pull Requests

See the developer guide on osbuild.org for general guidelines.

Guidelines specific to this repository:

  • Each commit should compile successfully. This is not checked or enforced. Commits should fail to compile only when it's absolutely necessary (e.g. for readability).
  • If possible, unit tests should pass on each commit as well, however readability and clean patches are preferred, so this is not a strict requirement.
  • The manifest checksum file must be valid for every commit. Use the tools/gen-manifest-checksums.sh script to generate the file if needed.
    • The validity of the manifest checksum file is checked for every commit in a PR.
    • Commits that fail to compile are skipped.
    • Commits that change the file should include a short description in the commit message about how the manifests have changed, unless it is obvious from the code changes.
    • See the Diffing manifests section of the Developer documentation for more information.

Tests

Unit tests can be run using the standard go test command:

go test ./...

Integration tests run on GitLab using dynamic pipelines. See the test README for full description.

Topics