condorcore-keyring/CONTRIBUTING.md

1.7 KiB

Contributing

These are the contribution guidelines for archlinux-keyring. All code contributions fall under the terms of the GPL-3.0-or-later (see LICENSE).

Please read our distribution-wide Code of Conduct before contributing, to understand what actions will and will not be tolerated.

Development of archlinux-keyring takes place on Arch Linux' Gitlab: https://gitlab.archlinux.org/archlinux/archlinux-keyring.

Any merge request to the repository requires two approvals of authorized approvers (the current main key holders).

Discussion

Discussion around archlinux-keyring may take place on the arch-projects mailing list and in #archlinux-projects on Libera Chat.

All past and present authors of archlinux-keyring are listed in AUTHORS.

Requirements

The following additional packages need to be installed to be able to lint and develop this project:

  • python-black
  • python-coverage
  • python-isort
  • python-pytest
  • python-tomli
  • flake8
  • mypy

Keyringctl

The keyringctl script is written in typed python, which makes use of sequoia's sq command.

The script is type checked, linted and formatted using standard tooling. When providing a merge request make sure to run make lint.

Testing

Test cases are developed per module in the test directory and should consist of atomic single expectation tests. A Huge test case asserting various different expectations are discouraged and should be split into finer grained test cases.

To execute all tests using pytest

make test