Skip to content
Commit 434c0f15 authored by Phyks (Lucas Verney)'s avatar Phyks (Lucas Verney) Committed by Florent Fourcot
Browse files

Gitlab-CI continuous integration

This commit adds the necessary files to run the CI using Gitlab-CI. For
now, it checks that Weboob builds, then runs the linting script
(checking that every module as an icon and some tests + PyFlakes) and
the unittests. Most of modules unittests cannot run because there is no
backend configured.

Some changes were needed in the pre-existing scripts:
* Edit `weboob_lint` to exit with non-zero code if it finds modules
without icons or tests, so that the build could fail in such a case.
* Edit `run_tests.sh` to set correct exit code on failure and rework
generation of XUNIT output. Also added some doc about useful environment
variables. Added a way to generate an xunit output file when running modules
unittests, passing a `XUNIT_OUT` env variable to `run_tests.sh` script.
* Modification of `setup.cfg` and `run_tests` scripts to handle code
coverage generation. The matching regex in Gitlab for the total code
coverage is `TOTAL: (\d+\%\s*)$)`.

I also added a script to generate a JSON module status matrix from
modules unittests, ready to be sent to a
[Weboob-CI](https://github.com/Phyks/weboob-ci) instance.

NOTE: Required Python modules are taken from the `setup.py` script.
`.ci/requirements.txt` contains the requirements to run the unittests
and the CI, whereas `.ci/requirements_modules.txt` contains the specific
Python modules required at runtime by Weboob modules. The latter could
eventually be replaced by a proper call to `debpydep` script.
parent 14464962
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment