Contributing to the CLI¶
There are many ways to contribute to this project, and all are welcome.
Get in Touch¶
If you want to connect with the Pulp community, ask some not-so-frequently-asked-questions or just leave general feedback, you can reach us in different ways summed up on pulpproject.org.
If you see something wrong with the docs, we welcome documentation PRs.
If you are using the Pulp CLI and have written end-to-end steps for Pulp workflows, we would greatly appreciate if you would contribute docs to the relevant plugins.
If you are interested in contributing code, note that we have styling and formatting conventions for both the code and our PRs:
Code formatting is done with
Static analysis is performed with
pulp-cliutilizes strict python type annotations, checked with
Shell scripts must pass
If your PR is in response to an open issue, add
fixes #<ISSUE-NUMBER>as its own line in your commit message. If you do not have an issue, use
PRs need to pass these checks before they can be merged.
We recommend running these before committing:
pip install -r lint_requirements.txt # setup, needed only once
make black # reformatting with isort & black
make lint # checking with shellcheck, isort, black, flake8 and mypy
make black lint # both in one command
Also please follow The seven rules of a great Git commit message. And finally, for each new feature, we require corresponding tests.
Tests are shell scripts in
tests/scripts with names like
They should should focus on the cli operation and are not a replacement for pulp integration tests;
i.e. make sure the cli translates to the right api calls, but do not care about pulp internals.
In order to run tests, a running instance of pulp with all necessary plugins installed must be
To run tests:
make test # all tests
pytest -m pulp_file # tests for pulp_file
pytest -m pulp_file -k test_remote # run tests/scripts/pulp_file/test_remote.sh