Roundup Tracker

CI Testing Pipeline

The following resources are used by Roundup to implement a Continuous Integration/Test pipeline.

GitHub Repo

GitHub commits since latest release - 2.4.0

We maintain roundup using Mercurial at Sourceforge (see the Code link in the sidebar). Primary developers also have access to the GitHub clone at https://github.com/roundup-tracker/roundup and sync changes to GitHub. Usually larger code changes are synced. Documentation and minor changes that can be sufficiently tested on a developer system are usually not synced. Only the newest commit when a sync happens is submitted to the net step in the pipeline.

CI

TravisCI

The newest commit from a sync to GitHub is built on TravisCI: https://app.travis-ci.com/github/roundup-tracker/roundup. Only two python versions are tested to preserve the free credits we get as an open-source project.

The last python2 release is tested. This is the only python2 test as GitHub's native support for python2 was removed. Also the 3.12 alpha release is also tested.

GitHub Actions

See CI status on GitHub.

GitHub actions are used to test 5 Python 3.x releases. Python 2 is not tested anymore because the Python workflow no longer supports Python 2. If required we could try spinning up a Python 2 docker environment to test Python 2, but for now we just use TravisCI. In addition we test:

The goal is to test earliest version, two or three intermediate releases and the newest release. Also test the newest version of the pre-release (beta/alpha).

In addition to running the test suite, GitHub actions also run:

CodeCov

The results of code coverage are uploaded to CodeCov. We target 80 or better % coverage of changes for each commit. However a few parts of our codebase (most notably templating) are sparsely covered. On March 19, 2019 code coverage was at 65%. We have consistently been getting better. Both Python 2 and Python 3 testing is reported here.

Coveralls

Python 3 test results are loaded to Coveralls. Since Python 2 is not supported by Coveralls, the reported coverage is lower than CodeCov.