.gitlab-ci.yml 4.18 KB
Newer Older
Thomas Vincent's avatar
Thomas Vincent committed
1
include:
Thomas Vincent's avatar
Thomas Vincent committed
2
  - remote: 'https://gitlab.esrf.fr/silx/bob/main/raw/master/job-templates.yml'
Thomas Vincent's avatar
Thomas Vincent committed
3

Thomas Vincent's avatar
Thomas Vincent committed
4
5
6
7
8
9
10
11

stages:
  - build_source
  - build
  - test
  - deploy


Thomas Vincent's avatar
Thomas Vincent committed
12
13
14
15
variables:
  PROJECT: silx
  REPOSITORY: https://github.com/silx-kit/silx
  SILX_OPENCL: "False"
16
  EXTRA_SETUP_PY_CMD_OPTIONS: "build --no-openmp"
17
  MANYLINUX_PYTHON_VER: cp35-cp35m cp36-cp36m cp37-cp37m cp38-cp38
Thomas Vincent's avatar
Thomas Vincent committed
18

Thomas Vincent's avatar
Thomas Vincent committed
19

Thomas Vincent's avatar
Thomas Vincent committed
20
source:
Thomas Vincent's avatar
Thomas Vincent committed
21
  extends: .source_build
Thomas Vincent's avatar
Thomas Vincent committed
22

Thomas Vincent's avatar
Thomas Vincent committed
23

Thomas Vincent's avatar
Thomas Vincent committed
24
25
26
manylinux1_wheels:
  extends: .manylinux1_wheels

27
28
manylinux2014_wheels:
  extends: .manylinux2014_wheels
Thomas Vincent's avatar
Thomas Vincent committed
29

Thomas Vincent's avatar
Thomas Vincent committed
30

Thomas Vincent's avatar
Thomas Vincent committed
31
windows_wheel_python36:
Thomas Vincent's avatar
Thomas Vincent committed
32
  extends: .windows_wheel_python36
Thomas Vincent's avatar
Thomas Vincent committed
33

Thomas Vincent's avatar
Thomas Vincent committed
34
windows_wheel_python37:
Thomas Vincent's avatar
Thomas Vincent committed
35
  extends: .windows_wheel_python37
36
37
38
  
windows_wheel_python38:
  extends: .windows_wheel_python38
Thomas Vincent's avatar
Thomas Vincent committed
39
40


Thomas Vincent's avatar
Thomas Vincent committed
41
debian9:
Thomas Vincent's avatar
Thomas Vincent committed
42
  extends: .debian9
Thomas Vincent's avatar
Thomas Vincent committed
43

Thomas Vincent's avatar
Thomas Vincent committed
44
45
46

debian10:
  extends: .debian10
Thomas Vincent's avatar
Thomas Vincent committed
47
48


Thomas Vincent's avatar
Thomas Vincent committed
49
50
51
52
ubuntu20.04:
  extends: .ubuntu_20_04


Thomas Vincent's avatar
Thomas Vincent committed
53
54
55
56
57
58
59
60
61
macos_wheel_python35:
  extends: .macos_wheel_python35

macos_wheel_python36:
  extends: .macos_wheel_python36

macos_wheel_python37:
  extends: .macos_wheel_python37

62
63
64
macos_wheel_python38:
  extends: .macos_wheel_python38

Thomas Vincent's avatar
Thomas Vincent committed
65

Thomas Vincent's avatar
Thomas Vincent committed
66
67
# Test

68
.test_noqt_template: &test_noqt_template_defintion
Thomas Vincent's avatar
Thomas Vincent committed
69
70
  stage: test
  variables:
71
    WITH_QT_TEST: "False"
Thomas Vincent's avatar
Thomas Vincent committed
72
  script:
73
74
    # Install pyopencl build dependencies first
    - pip install numpy pybind11
75
    # Install pyopencl first to use a wheel from silx.org under Windows
76
    - pip install --find-links http://www.silx.org/pub/wheelhouse/ --trusted-host www.silx.org --prefer-binary pyopencl
Thomas Vincent's avatar
Thomas Vincent committed
77
78
79
80
81
    - pip install --pre --find-links artifacts/ --only-binary silx silx[full]
    - python -c "import silx.test, sys; sys.exit(silx.test.run_tests());"


windows_test_python36:
82
  <<: *test_noqt_template_defintion
Thomas Vincent's avatar
Thomas Vincent committed
83
84
85
86
87
  extends: .windows_base_python36
  dependencies:
    - windows_wheel_python36

windows_test_python37:
88
  <<: *test_noqt_template_defintion
Thomas Vincent's avatar
Thomas Vincent committed
89
90
91
92
  extends: .windows_base_python37
  dependencies:
    - windows_wheel_python37

93
windows_test_python38:
94
  <<: *test_noqt_template_defintion
95
96
97
98
  extends: .windows_base_python38
  dependencies:
    - windows_wheel_python38

Thomas Vincent's avatar
Thomas Vincent committed
99

100
macos_test_python35:
101
102
  <<: *test_noqt_template_defintion
  extends: .macos_base_python35
103
104
  dependencies:
    - macos_wheel_python35
Thomas Vincent's avatar
Thomas Vincent committed
105

106
macos_test_python36:
107
108
  <<: *test_noqt_template_defintion
  extends: .macos_base_python36
109
110
  dependencies:
    - macos_wheel_python36
Thomas Vincent's avatar
Thomas Vincent committed
111

112
macos_test_python37:
113
114
  <<: *test_noqt_template_defintion
  extends: .macos_base_python37
115
116
  dependencies:
    - macos_wheel_python37
Thomas Vincent's avatar
Thomas Vincent committed
117

118
macos_test_python38:
119
120
  <<: *test_noqt_template_defintion
  extends: .macos_base_python38
121
122
  dependencies:
    - macos_wheel_python38
123

Thomas Vincent's avatar
Thomas Vincent committed
124

125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
.test_template: &test_template_defintion
  stage: test
  variables:
    WITH_GL_TEST: "False"
  script:
    # Install pyopencl build dependencies first
    - pip install numpy pybind11
    # Install pyopencl first to use a wheel from silx.org under Windows
    - pip install --find-links http://www.silx.org/pub/wheelhouse/ --trusted-host www.silx.org --prefer-binary pyopencl
    - pip install --pre --find-links artifacts/ --only-binary silx silx[full]
    - python -c "import silx.test, sys; sys.exit(silx.test.run_tests());"
    - pip uninstall -y PyQt5
    - pip install PySide2
    - python -c "import silx.test, sys; sys.exit(silx.test.run_tests());"

Thomas Vincent's avatar
Thomas Vincent committed
140
141
manylinux1_test_cp35:
  <<: *test_template_defintion
142
  extends: .manylinux2014_cp35_base
Thomas Vincent's avatar
Thomas Vincent committed
143
144
145
146
147
  dependencies:
    - manylinux1_wheels

manylinux1_test_cp36:
  <<: *test_template_defintion
148
  extends: .manylinux2014_cp36_base
Thomas Vincent's avatar
Thomas Vincent committed
149
150
151
152
153
  dependencies:
    - manylinux1_wheels

manylinux1_test_cp37:
  <<: *test_template_defintion
154
  extends: .manylinux2014_cp37_base
Thomas Vincent's avatar
Thomas Vincent committed
155
156
157
  dependencies:
    - manylinux1_wheels

158
159
manylinux1_test_cp38:
  <<: *test_template_defintion
160
  extends: .manylinux2014_cp38_base
161
162
  dependencies:
    - manylinux1_wheels
163

Thomas Vincent's avatar
Thomas Vincent committed
164

165
manylinux2014_test_cp35:
Thomas Vincent's avatar
Thomas Vincent committed
166
  <<: *test_template_defintion
167
  extends: .manylinux2014_cp35_base
Thomas Vincent's avatar
Thomas Vincent committed
168
  dependencies:
169
    - manylinux2014_wheels
Thomas Vincent's avatar
Thomas Vincent committed
170

171
manylinux2014_test_cp36:
Thomas Vincent's avatar
Thomas Vincent committed
172
  <<: *test_template_defintion
173
  extends: .manylinux2014_cp36_base
Thomas Vincent's avatar
Thomas Vincent committed
174
  dependencies:
175
    - manylinux2014_wheels
Thomas Vincent's avatar
Thomas Vincent committed
176

177
manylinux2014_test_cp37:
Thomas Vincent's avatar
Thomas Vincent committed
178
  <<: *test_template_defintion
179
  extends: .manylinux2014_cp37_base
Thomas Vincent's avatar
Thomas Vincent committed
180
  dependencies:
181
    - manylinux2014_wheels
Thomas Vincent's avatar
Thomas Vincent committed
182

183
manylinux2014_test_cp38:
184
  <<: *test_template_defintion
185
  extends: .manylinux2014_cp38_base
186
  dependencies:
187
    - manylinux2014_wheels
Thomas Vincent's avatar
Thomas Vincent committed
188
189
190
191
192
193


# Deploy

pages:
  extends: .pages