diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-09-06 16:15:26 -0400 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-09-08 20:36:40 -0400 |
commit | c861efd4b2acc3f9de5328e38e7a63f9e6e91c6f (patch) | |
tree | ff5eb7f354b8b5be0eadb7ee8b92611e075af487 | |
parent | b02f347a2ef75503da607dcd5ab07f60c8a82b15 (diff) | |
download | buildstream-c861efd4b2acc3f9de5328e38e7a63f9e6e91c6f.tar.gz |
.gitlab-ci.yml: Produce combined coverage report
This report combines the coverage from the integration tests
and the pytest suite together into one report so we can see just
what parts of the code base we're covering collectively.
-rw-r--r-- | .gitlab-ci.yml | 47 |
1 files changed, 43 insertions, 4 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef4149635..b3ee47319 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,11 @@ cache: paths: - cache/buildstream/sources/ +stages: + - test + - coverage + - docs + before_script: # Diagnostics - mount @@ -19,24 +24,58 @@ before_script: # Run premerge commits # -tests: +pytest: + stage: test script: - dnf install -y bzr - python3 setup.py test + - mkdir -p coverage-pytest/ + - cp .coverage.* coverage-pytest/coverage.pytest + artifacts: + paths: + - coverage-pytest/ # Run integration tests # -integration_tests: +integration: + stage: test script: - - dnf install -y findutils bzr + - dnf install -y findutils bzr which + - pip3 install coverage - pip3 install . - git clone https://gitlab.com/BuildStream/buildstream-tests.git - cd buildstream-tests - - ./run-test.sh --arg --colors test + - ./run-test.sh --arg --colors --cov ../.coveragerc test + - cd .. + - mkdir -p coverage-integration/ + - cp buildstream-tests/.coverage coverage-integration/coverage.integration + - cp -a cache/buildstream/logs logs-integration + artifacts: + paths: + - coverage-integration/ + - logs-integration/ + +# Collate coverage reports +# +coverage: + stage: coverage + script: + - pip3 install coverage + - pip3 install . + - mkdir report + - cp coverage-integration/coverage.integration report/.coverage + - cp coverage-pytest/coverage.pytest report + - cd report + - coverage combine --rcfile=../.coveragerc -a coverage.pytest + - coverage report -m + dependencies: + - pytest + - integration # Automatically build documentation, only for merges which land # on master branch. pages: + stage: docs script: - dnf install -y findutils python2 - pip3 install sphinx |