Skip to content
  1. Aug 30, 2017
  2. Jul 31, 2017
  3. Dec 24, 2016
    • Phyks (Lucas Verney)'s avatar
      6f700b99
    • Phyks (Lucas Verney)'s avatar
      Gitlab-CI continuous integration · 434c0f15
      Phyks (Lucas Verney) authored
      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.
      434c0f15