Skip to content

Latest commit

 

History

History
86 lines (60 loc) · 2.49 KB

CONTRIBUTING.md

File metadata and controls

86 lines (60 loc) · 2.49 KB

Contributing

This project's mailing list is ~gotmax23/[email protected] (archives).

Development, issue reporting, and project discussion happen on the mailing list.

Issue Reporting and Feature Requests

Direct these to the mailing list. fedrq has a ticket tracker on todo.sr.ht, but it's only for confirmed issues.

Patches

Contributions are always welcome! It is recommended that you send a message to the mailing list before working on a larger change.

Patches can be sent to ~gotmax23/[email protected] using git send-email. No Sourcehut account is required!

After configuring git-send-email as explained at git-send-email.io:

git clone https://git.sr.ht/~gotmax23/fedrq
cd fedrq

# First time only
git config sendemail.to "~gotmax23/[email protected]"
git config format.subjectprefix "PATCH fedrq"

python3 -m venv venv --system-site-packages
. ./venv/bin/activate
pip install -U -e . nox

$EDITOR ...

sudo dnf copr enable -y rpmsoftwaremanagement/dnf5-unstable
nox
nox -e mockbuild

git commit -a
git send-email origin/main

See git-send-email.io for more details.

If you prefer, git.sr.ht has a webui to help you submit patches to a mailing list that can be used in place of git send-email. You can follow this written guide or this video guide for how to use the webui.

Linting and Unit Tests

Unit tests are run with pytest. This project uses isort and black to format code, ruff for linting, and mypy for type checking. reuse lint is used to ensure that code follows the REUSE specification. You can run all of these tools using nox. Simply install nox with pip or dnf. The tests also require the rpm-build and createrepo_c` and packages.

CI also runs a mock build against rawhide. Run nox -e srpm to build an SRPM containing the git HEAD or run nox -e mockbuild to preform a build in mock.

builds.sr.ht runs CI for patches sent to the mailing list, but please run the tests locally before submitting your changes. See the .builds directory for the CI workflow configuration.