From ea76a4e632493d4c15e5ad218911537ae66a8d8f Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Wed, 27 Sep 2017 14:37:51 +0200 Subject: [PATCH] [DCK][CI] Add coverage and speed After building, boot all services that odoo will need to avoid hitting https://github.com/docker/compose/issues/4688 on parallel jobs. Add `--no-deps` to linters. Add coverage report. --- .gitlab-ci.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 73718eab..842f4cb6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,6 +15,7 @@ Pull and build images on private addons: - docker-compose down -v --remove-orphans - docker-compose build --pull - docker-compose pull + - docker-compose run --rm odoo --version # Lint Pylint for main branches on private addons: @@ -24,10 +25,10 @@ Pylint for main branches on private addons: - PRIVATE_ADDONS="$(ls -1 odoo/custom/src/private | tr -s '\n' ,)" - test -n "$PRIVATE_ADDONS" || echo No private addons found - test -z "$PRIVATE_ADDONS" || - docker-compose run --rm --user root --name "$CONTAINER_NAME" + docker-compose run --rm --no-deps --name "$CONTAINER_NAME" -e LOG_LEVEL=WARNING odoo bash -c " git clone --depth 1 $MQT_REPO $MQT_PATH && - pip install -q --no-cache pylint-odoo && + pip install --user -q pylint-odoo && pylint --load-plugins pylint_odoo -d C8101 --rcfile $MQT_PATH/travis/cfg/$CFG custom/src/private/*" @@ -49,10 +50,10 @@ Pylint beta on private addons: Flake8 on private addons: script: - - docker-compose run --rm --user root --name "$CONTAINER_NAME" + - docker-compose run --rm --no-deps --user root --name "$CONTAINER_NAME" -e LOG_LEVEL=WARNING odoo bash -c " git clone --depth 1 $MQT_REPO $MQT_PATH && - pip install -q --no-cache flake8 && + pip install -q flake8 && cd custom/src/private && $MQT_PATH/travis/test_flake8" @@ -62,9 +63,17 @@ Install and test private addons: - PRIVATE_ADDONS="$(ls -1 odoo/custom/src/private | tr -s '\n' ,)" - test -n "$PRIVATE_ADDONS" || echo No private addons found - test -z "$PRIVATE_ADDONS" || - docker-compose run --rm odoo --stop-after-init -i $PRIVATE_ADDONS - - test -z "$PRIVATE_ADDONS" || - docker-compose run --rm odoo unittest $PRIVATE_ADDONS + docker-compose run --rm -w /home/odoo + odoo bash -c " + odoo --stop-after-init -i $PRIVATE_ADDONS && + pip install --user -q coverage && + coverage run + --source /opt/odoo/custom/src/private/ + --omit '*/__openerp__.py,*/__manifest__.py' + \$(realpath \$(which odoo)) --stop-after-init --test-enable + -u $PRIVATE_ADDONS && + coverage report --skip-covered" + coverage: /TOTAL.* (\d+)%/ # Runbot Boot runbot: