When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
- Before you start your work, make sure to setup the repository
- This project uses git hooks with the help of
lefthook
. Make sure to havelefthook
installed and runlefthook install
to install the git hooks. NOTE: This step is necessary for quality assurance. - Optionally (but highly recommended) run
git config --local commit.gpgsign true
to configure your local working copy of the repository to automatically sign your work. Also add your e-mail address and public key to theallowed_signers
file so others can confirm your work locally. See also Commit Signing for more information.
- This project uses git hooks with the help of
- This repository uses Conventional Commits.
Make sure to follow the pattern. You can use a tool like
commitizen
to help you. - Do not push your changes directly to the main branch! Create a pull request instead. After a code review by the project maintainer it will be considered for contribution.
- Release and versioning are handled by the maintainer as well.
To make sure a commit is actually done by you and no one is impersonating you,
git
supports signing your work. This can be done either by using a gpg
or
ssh
key. GitHub can verify a commit was actually made by you. The GitHub Docs about Signing Commits
and this blog post by Git Tower about Setting Up SSH for Commit Signing
explain how to create a signing key and configure git
to use this key for
commit signing. Both articles tell you how to add the public key to GitHub so
GitHub can approve your work.
This project uses the SemVer versioning scheme. However, this is not the full truth. The actual release version is much more complex. The project itself uses semantic versioning for all sources tracked by git. The actual release version on the other hand has a prefix. This prefix is the currently used version of Fedora.
This way it should be more transparent, if and more importantly why a new image version was released.