.gitlab-ci.yml 4.11 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"
Thomas Vincent's avatar
Thomas Vincent committed
17

Thomas Vincent's avatar
Thomas Vincent committed
18

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

Thomas Vincent's avatar
Thomas Vincent committed
22

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

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

Thomas Vincent's avatar
Thomas Vincent committed
29

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

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


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

Thomas Vincent's avatar
Thomas Vincent committed
43
44
45

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


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


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

macos_wheel_python36:
  extends: .macos_wheel_python36

macos_wheel_python37:
  extends: .macos_wheel_python37

61
62
63
macos_wheel_python38:
  extends: .macos_wheel_python38

Thomas Vincent's avatar
Thomas Vincent committed
64

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

67
.test_noqt_template: &test_noqt_template_defintion
Thomas Vincent's avatar
Thomas Vincent committed
68
69
  stage: test
  variables:
70
    WITH_QT_TEST: "False"
Thomas Vincent's avatar
Thomas Vincent committed
71
  script:
72
73
    # Install pyopencl build dependencies first
    - pip install numpy pybind11
74
    # Install pyopencl first to use a wheel from silx.org under Windows
75
    - 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
76
77
78
79
80
    - 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:
81
  <<: *test_noqt_template_defintion
Thomas Vincent's avatar
Thomas Vincent committed
82
83
84
85
86
  extends: .windows_base_python36
  dependencies:
    - windows_wheel_python36

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

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

Thomas Vincent's avatar
Thomas Vincent committed
98

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

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

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

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

Thomas Vincent's avatar
Thomas Vincent committed
123

124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
.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
139
140
manylinux1_test_cp35:
  <<: *test_template_defintion
141
  extends: .manylinux2014_cp35_base
Thomas Vincent's avatar
Thomas Vincent committed
142
143
144
145
146
  dependencies:
    - manylinux1_wheels

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

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

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

Thomas Vincent's avatar
Thomas Vincent committed
163

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

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

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

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


# Deploy

pages:
  extends: .pages