summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml47
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