Skip to content
  1. Aug 26, 2020
  2. May 07, 2020
  3. Apr 29, 2020
  4. Mar 24, 2020
  5. Dec 14, 2019
  6. Jan 02, 2019
  7. Aug 30, 2017
  8. Jul 31, 2017
  9. 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