A review helper script for openQA.
For more details read the documentation within openqa_review/openqa_review.py
.
- Install requirements and package, using an isolated Python environment such as VirtualEnv.
pip3 install -r requirements.txt
pip3 install .
To call the script from the git clone, you have to use this form:
python3 -m openqa_review.openqa_review
or if you are using openSUSE distribution, it is recommended to use zypper
,
e.g.:
zypper in python-openqa_review
- Call
openqa-review
from PATH, e.g. with--help
openqa-review --help
If openqa-review
has to access non public servers which make use of custom
Certificate Authorities (CA's), it can happen that it fails because it can
not verify the TLS certificate. By setting the environment variable
REQUESTS_CA_BUNDLE
, one can supply a custom ca-certificate store to
openqa-review
e.g.:
REQUESTS_CA_BUNDLE="/my/custom/ca-bundle.pem" openqa-review
If that doesn't work, you can try the following setting:
CURL_CA_BUNDLE=""
If you have questions, visit #opensuse-factory on libera.chat.
This project lives in https://github.com/os-autoinst/openqa_review
Feel free to add issues in github or send pull requests.
TODOs and ideas are tracked in the file TODO
as well as github issues.
Tests are implemented on top of pytest and tox. Tox can be invoked with no arguments to test all environments:
tox
It is also possible to run only a special environment, e.g. tox -e flake8
for
the linter, tox -e py38
for running tests at the specified Python version (the
interpreter needs to be installed for this version) or tox -e cov
for the
coverage report (see details below). These environments are configured in
tox.ini
.
To ensure files are passing the style check, invoke black .
to apply
correct formatting.
If you are running into issues installing dependencies (resulting in an error
like "Could not build wheels…"), try to remove the temporary .tox
directory
(or the subfolder for the problematic environment within).
You can also run the tests via pytest
with one of the following commands:
pytest
# or
python3 -m pytest
# or, after running tox at least once:
./.tox/cov/bin/py.test
To test only certain functions, there are several possibilities:
pytest tests/test_openqa_review.py::test_reminder_comments_on_referenced_bugs_are_posted
pytest -k test_reminder_comments_on_referenced_bugs_are_posted
Run the following commands to generate a coverage report under coverage_html/
:
tox -e cov
./.tox/cov/bin/coverage html
-
Every commit is checked by a GitHub Workflow as soon as you create a pull request but you should run
tox
locally, -
Make sure to keep the 100% test coverage, e.g. by adding test reference data for new scenarios. TDD is advised :-)
-
For git commit messages use the rules stated on How to Write a Git Commit Message as a reference
If this is too much hassle for you feel free to provide incomplete pull requests for consideration or create an issue with a code change proposal.
This project is licensed under the MIT license, see LICENSE file for details.
Exceptions are the files under dashboard_files/
which are GPL-2 licensed
coming from https://github.com/os-autoinst/openQA/.