It'd be good to have CI so we can tell when pull requests are broken.
I have a pattern for setting this up via Software Factory's Zuul integration which I used for the projects I maintain, e.g. fedora_openqa. I can send a PR following those patterns if you like. My pattern involves running the tests via coverage run, then using diff-cover and diff-quality to fail on the coverage or quality of the PR being under a given threshold. I also use black for linting on some projects. I configure this in tox.ini and have Zuul run tox.
coverage run
diff-cover
diff-quality
black
tox.ini
tox
The configuration can be further refined to make it convenient for Zuul to run this whole stack, but a package build to just run the tests - see python-wikitcms for an example of this, specifically the way a 'ci' environment is the default in tox.ini, and thus run by the zuul config, but the package spec %check section just runs %tox, because that macro specifies the environment explicitly, so it will run only the py.test command from tox.ini, not all the additional commands that are only run for environments with ci in their name.
%tox
py.test
ci
Sure, sounds good!
If you already have a setup ready, let's do it here.
OK, I'll try and send a PR today or tomorrow. I'll check the process docs to see if anything about the Zuul integration got improved/streamlined since last time I onboarded a project...
Heads up on this, I have it all written now, however I'd actually like to include a commit that fills out missing test coverage in the same PR (or else it will ironically fail itself for insufficient coverage of lines that were reformatted by black). That I couldn't get done this week, so will aim for next week.
https://pagure.io/taskotron/resultsdb_api/pull-request/15 has all the code changes for this. Beyond that we need to send a PR like https://pagure.io/fedora-project-config/pull-request/45 to https://pagure.io/fedora-project-config , and make some changes to the project config.
This was done, by the looks of it.
Metadata Update from @adamwill: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)