-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path.gitlab-ci.yml
124 lines (106 loc) · 2.06 KB
/
.gitlab-ci.yml
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
---
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_DEPTH: 1
CONAN_CREATE_OPTIONS: >-
-o scine_molassembler:python=True
-o scine_molassembler:tests=True
CONAN_PYPI_OPTIONS: >-
-o scine_molassembler:python=True
-o scine_utilities:shared=False
-o scine_molassembler:shared=False
GCOVR_OPTIONS: "-r src/ -u --object-directory=build/src/"
include:
- project: 'scine/development-utils'
file: '/ci/jobs.yml'
stages:
- quality
- build
license:
stage: quality
extends: .license
complexity:
stage: quality
extends: .gcc
before_script:
- echo "Skip before_script"
script:
- python3 -m pip install lizard jinja2
- export PATH=$PATH:/home/ciuser/.local/bin
- cd src
- >-
lizard -l cpp -m
-T nloc=100
-T cyclomatic_complexity=15
-T parameter_count=5
-o lizard.html
- >-
lizard -l cpp -m
-w -s cyclomatic_complexity
-T cyclomatic_complexity=20
-W ../.whitelizard.txt
artifacts:
expire_in: 1 day
paths: [src/lizard.html]
conan-gcc:
stage: build
extends:
- .gcc
- .conan_create
conan-clang:
stage: build
extends:
- .clang
- .conan_create
conan-centos:
stage: build
extends:
- .centos
- .conan_create
conan-coverage:
stage: build
extends: .conan_coverage
pypi-cp36:
stage: build
extends: .pypi
# Additional builds on master
# Additional python ABIs
pypi-cp37:
stage: build
extends: .manylinux
only: [master]
variables:
PYABI: cp37-cp37m
pypi-cp38:
stage: build
extends: .manylinux
only: [master]
variables:
PYABI: cp38-cp38
pypi-cp39:
stage: build
extends: .manylinux
only: [master]
variables:
PYABI: cp39-cp39
pypi-cp310:
stage: build
extends: .manylinux
only: [master]
variables:
PYABI: cp310-cp310
pypi-cp311:
stage: build
extends: .manylinux
only: [master]
variables:
PYABI: cp311-cp311
# CMake-only build
cmake-only:
stage: build
extends:
- .gcc
- .cmake_release
only: [master]
variables:
CMAKE_OPTIONS: "-DSCINE_BUILD_PYTHON_BINDINGS=ON"