-
Notifications
You must be signed in to change notification settings - Fork 23
/
.gitlab-ci.yml
146 lines (136 loc) · 3.67 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Python 3 POCL:
script: |
export PY_EXE=python3
export PYOPENCL_TEST=portable:cpu
# cython is here because pytential (for now, for TS) depends on it
export EXTRA_INSTALL="pybind11 cython numpy mako mpi4py h5py oct2py"
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh
. ./build-and-test-py-project.sh
tags:
- python3
- pocl
- mpi
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
Python 3 Nvidia Titan V:
script: |
export PY_EXE=python3
export PYOPENCL_TEST=nvi:titan
export EXTRA_INSTALL="pybind11 cython numpy mako oct2py"
# cython is here because pytential (for now, for TS) depends on it
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project.sh
. ./build-and-test-py-project.sh
tags:
- python3
- nvidia-titan-v
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
Python 3 POCL Examples:
script:
- test -n "$SKIP_EXAMPLES" && exit
- export PY_EXE=python3
- export PYOPENCL_TEST=portable:cpu
# cython is here because pytential (for now, for TS) depends on it
- export EXTRA_INSTALL="pybind11 cython numpy mako matplotlib"
- curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-py-project-and-run-examples.sh
- ". ./build-py-project-and-run-examples.sh"
tags:
- python3
- pocl
- large-node
except:
- tags
# The machine shop is too old for the Firedrake container.
# Lawrence Mitchell says that they likely build PETSc with -march=native
# on something like Skylake.
#
# Python 3 POCL Firedrake:
# tags:
# - "docker-runner"
# image: "firedrakeproject/firedrake"
# script:
# - . .ci/install-for-firedrake.sh
# - cd test
# - python -m pytest --tb=native --junitxml=pytest.xml -rxsw test_firedrake_interop.py
# artifacts:
# reports:
# junit: test/pytest.xml
#
# Python 3 POCL Firedrake Examples:
# tags:
# - "docker-runner"
# image: "firedrakeproject/firedrake"
# script:
# - . .ci/install-for-firedrake.sh
# - . ./.ci/run_firedrake_examples.sh
# artifacts:
# reports:
# junit: test/pytest.xml
Python 3 Conda:
script: |
export PYOPENCL_TEST=portable:cpu
export MPLBACKEND=Agg
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-and-test-py-project-within-miniconda.sh
. ./build-and-test-py-project-within-miniconda.sh
tags:
# - docker-runner
- linux
- large-node
except:
- tags
Documentation:
script:
# https://github.com/sphinx-contrib/tikz/issues/21
- EXTRA_INSTALL="pybind11 cython numpy sphinxcontrib-tikz!=0.4.18"
- curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/main/build-docs.sh
- . ./build-docs.sh
tags:
- python3
Ruff:
script: |
pipx install ruff
ruff check
tags:
- docker-runner
except:
- tags
Pylint:
script: |
export PY_EXE=python3
EXTRA_INSTALL="Cython pybind11 numpy mako matplotlib scipy mpi4py h5py oct2py"
curl -L -O https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-pylint.sh
. ./prepare-and-run-pylint.sh "$CI_PROJECT_NAME" examples/*.py test/test_*.py
tags:
- python3
except:
- tags
Mypy:
script: |
EXTRA_INSTALL="Cython mpi4py"
curl -L -O https://tiker.net/ci-support-v0
. ./ci-support-v0
build_py_project_in_venv
python -m pip install mypy
./run-mypy.sh
tags:
- python3
except:
- tags
Downstream:
parallel:
matrix:
- DOWNSTREAM_PROJECT: [grudge, pytential, mirgecom, mirgecom_examples]
tags:
- large-node
- "docker-runner"
script: |
curl -L -O https://tiker.net/ci-support-v0
. ./ci-support-v0
test_downstream "$DOWNSTREAM_PROJECT"
# vim: sw=2