Skip to main content

Taskotron checks regarding Python versions

Project description

This represents the automatic checks happening in the Fedora infrastructure after any package is built.

Currently the following checks are available:

  • Whether a package does not require Python 2 and Python 3 at the same time;

  • Whether the package name follows the Python package naming scheme;

  • Whether the package uses versioned Python prefix in requirements’ names;

  • Whether only Python 2 version of the package contains the executables;

  • Whether the package uses versioned shebangs in its executables;

  • Whether the package supports Python 3 upstream but not in the package.

Running

You can run the checks locally with Taskotron. First, install it (you can follow the Quickstart). You’ll also need the rpm, dnf and libarchive-c Python 2 modules (python2-rpm, python2-dnf, python2-libarchive-c). Note that Taskotron unfortunately runs on Python 2, but the code in this repository is Python 3 compatible as well.

Once everything is installed you can run the task on a Koji build using the name-(epoch:)version-release (nevr) identifier.

$ runtask -i <nevr> -t koji_build runtask.yml

For example:

$ runtask -i eric-6.1.6-2.fc25 -t koji_build runtask.yml

Tests

There are also automatic tests available. You can run them using tox. You’ll need the above mentioned dependencies and python3-rpm and python3-dnf installed as well.

$ tox

Automatic tests also happen on Tarvis CI. Since Travis CI runs on Ubuntu and Ubuntu lacks the RPM Python bindings and Taskotron, Docker is used to run the tests on Fedora. You can run the tests in Docker as well, just use the commands from the .travis.yml file.

License

This code has been dedicated to the Public Domain, it is licensed with CC0 1.0 Universal Public Domain Dedication, full text of the license is available in the LICENSE file in this repository.

Please note that the RPM packages in this repository used for testing have their own license terms and are not dedicated to the Public Domain.

The sources of those packages can be found in Koji by searching the package name and selecting the appropriate version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskotron-python-versions-0.1.dev3.tar.gz (5.9 MB view details)

Uploaded Source

Built Distribution

File details

Details for the file taskotron-python-versions-0.1.dev3.tar.gz.

File metadata

File hashes

Hashes for taskotron-python-versions-0.1.dev3.tar.gz
Algorithm Hash digest
SHA256 905166e3fbe0774dd54d9b0ee4d2f3baf968bc5515e11f9fc939dd230ca1502e
MD5 5ceb2869ee0ec16e103736bce69ba46b
BLAKE2b-256 13b9caab092bbc24a43660545d440a202b1f173c849e63d8047c8f1694d14c9f

See more details on using hashes here.

File details

Details for the file taskotron_python_versions-0.1.dev3-py3-none-any.whl.

File metadata

File hashes

Hashes for taskotron_python_versions-0.1.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 794d601887abeaa52e2732d97278352a4be75c22ae4d01cd0ec07b0486715377
MD5 f7ae1cc572ce7c4fd18b7f34cd63c1f3
BLAKE2b-256 8fd08475d9b9897ca22071971ef5dad451fbb87cef93338bf659c3453a168170

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page