blob: 1ad364527ca39ce487f6bb66fba409d5684dfb33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
image: samthursfield/buildstream:0.1-20170621.1
cache:
paths:
- cache/buildstream/sources/
stages:
- test
- coverage
- docs
before_script:
# Diagnostics
- mount
- df -h
# Work around https://github.com/fedora-cloud/docker-brew-fedora/issues/14
- export LANG="C.UTF-8"
- export LC_ALL="C.UTF-8"
# Store cache in the project directory
- mkdir -p "$(pwd)/cache"
- export XDG_CACHE_HOME="$(pwd)/cache"
# Run premerge commits
#
pytest:
stage: test
script:
- dnf install -y bzr patch
- python3 setup.py test
- mkdir -p coverage-pytest/
- cp .coverage.* coverage-pytest/coverage.pytest
artifacts:
paths:
- coverage-pytest/
# Run integration tests
#
integration_linux:
stage: test
script:
- 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 --cov ../.coveragerc test
- cd ..
- mkdir -p coverage-linux/
- cp buildstream-tests/.coverage coverage-linux/coverage.linux
- cp -a cache/buildstream/logs logs-linux
artifacts:
paths:
- coverage-linux/
- logs-linux/
pytest_unix:
stage: test
variables:
BST_FORCE_BACKEND: "unix"
script:
# We remove the Bubblewrap and OSTree packages here so that we catch any
# codepaths that try to use them
- dnf erase -y bubblewrap ostree
- dnf install -y bzr patch
- python3 setup.py test
- mkdir -p coverage-pytest-unix
- cp .coverage.* coverage-pytest-unix/coverage.pytest-unix
artifacts:
paths:
- coverage-pytest-unix/
integration_unix:
stage: test
variables:
BST_FORCE_BACKEND: "unix"
script:
- 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 --cov ../.coveragerc test
- cd ..
- mkdir -p coverage-unix/
- cp buildstream-tests/.coverage coverage-unix/coverage.unix
- cp -a cache/buildstream/logs logs-unix
artifacts:
paths:
- coverage-unix/
- logs-unix/
# Collate coverage reports
#
coverage:
stage: coverage
script:
- pip3 install coverage
- pip3 install .
- mkdir report
- cd report
- cp ../coverage-linux/coverage.linux .coverage
- cp ../coverage-unix/coverage.unix .
- coverage combine --rcfile=../.coveragerc -a ../coverage-unix/coverage.unix
- cp ../coverage-pytest/coverage.pytest .
- coverage combine --rcfile=../.coveragerc -a coverage.pytest
- cp ../coverage-pytest-unix/coverage.pytest-unix .
- coverage combine --rcfile=../.coveragerc -a coverage.pytest-unix
- coverage report --rcfile=../.coveragerc -m
dependencies:
- pytest
- integration_linux
- pytest_unix
- integration_unix
# Automatically build documentation, only for merges which land
# on master branch.
pages:
stage: docs
script:
- dnf install -y findutils python2
- pip3 install sphinx
- pip3 install sphinx-click
- pip3 install --user -e .
- make -C doc
- mv doc/build/html public
artifacts:
paths:
- public/
only:
- master
|