-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.gitlab-ci.yml
156 lines (149 loc) · 5.54 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
147
148
149
150
151
152
153
154
155
156
Flake8:
script:
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh
- ". ./prepare-and-run-flake8.sh volumential test examples benchmarks"
tags:
- python3
except:
- tags
Python 3 POCL:
script:
- if [[ $(dpkg-query -l | grep libdeal.ii-dev | wc -l) = 0 ]]; then echo "Deal.ii not found"; exit 0; fi
- export PY_EXE=python3
- export PYOPENCL_TEST=portable:pthread
- export EXTRA_INSTALL="pybind11 cython numpy pytest pytest-cov scipy mako wheel"
- export PYTEST_FLAGS="--cov=volumential"
- git submodule sync && git submodule update --init --recursive --remote
- ((cd contrib/meshgen11_dealii/; ./build.sh) && echo "Using meshgen11_dealii.") || (echo "Using boxtree for meshgen.")
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh
- sed -i -e '/^TESTABLES=.*/i PIP="${PY_EXE} $(which pip)" \n$PIP uninstall -y pytest-warnings' build-and-test-py-project.sh
- ". ./build-and-test-py-project.sh"
tags:
- python3
- pocl
- dealii
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
Python 3 Intel:
script:
- if [[ $(dpkg-query -l | grep libdeal.ii-dev | wc -l) = 0 ]]; then echo "Deal.ii not found"; exit 0; fi
- export PY_EXE=python3
- source /opt/enable-intel-cl.sh
- export PYOPENCL_TEST="intel(r):pu"
- export PYTEST_FLAGS="--cov=volumential"
- export EXTRA_INSTALL="pybind11 cython numpy pytest pytest-cov scipy mako wheel"
- git submodule sync && git submodule update --init --recursive --remote
- ((cd contrib/meshgen11_dealii/; ./build.sh) && echo "Using meshgen11_dealii.") || (echo "Using boxtree for meshgen.")
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project.sh
- sed -i -e '/^TESTABLES=.*/i PIP="${PY_EXE} $(which pip)" \n$PIP uninstall -y pytest-warnings' build-and-test-py-project.sh
- ". ./build-and-test-py-project.sh"
tags:
- python3
- intel-cl-cpu
- dealii
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
Python 3 Conda:
script:
- export SUMPY_FORCE_SYMBOLIC_BACKEND=symengine
- export CONDA_ENVIRONMENT=.test-conda-env-py3.yml
- export PYTEST_FLAGS="--cov=volumential"
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
- source ci-support.sh
- build_py_project_in_conda_env
- ((cd contrib/meshgen11_dealii/; ./build.sh) && echo "Using meshgen11_dealii.") || (echo "Using boxtree for meshgen.")
- test_py_project
tags:
- linux
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
Python 3 Conda Apple:
script:
- export LC_ALL=en_US.UTF-8
- export LANG=en_US.UTF-8
- export CONDA_ENVIRONMENT=.test-conda-env-py3-macos.yml
- export CC=clang
- export PYTEST_FLAGS="--cov=volumential"
- set -o xtrace
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
- source ci-support.sh
- build_py_project_in_conda_env
- ((cd contrib/meshgen11_dealii/; ./build.sh) && echo "Using meshgen11_dealii.") || (echo "Using boxtree for meshgen.")
- test_py_project
tags:
- apple
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
allow_failure: true
Python 3 Conda Examples:
script:
- export CONDA_ENVIRONMENT=.test-conda-env-py3.yml
- rm -f examples/*.hdf5
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/main/ci-support.sh
- source ci-support.sh
- build_py_project_in_conda_env
- ((cd contrib/meshgen11_dealii/; ./build.sh) && echo "Using meshgen11_dealii.") || (echo "Using boxtree for meshgen.")
- run_examples
tags:
- python3
- pocl
except:
- tags
artifacts:
reports:
junit: test/pytest.xml
Documentation Sphinx:
script:
- export PY_EXE=python3
- export PYOPENCL_TEST=portable:pthread
- export EXTRA_INSTALL="pybind11 cython numpy pytest scipy mako wheel"
- git submodule sync && git submodule update --init --recursive --remote
- ((cd contrib/meshgen11_dealii/; ./build.sh) && echo "Using meshgen11_dealii.") || (echo "Using boxtree for meshgen.")
- curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-py-project.sh
- ". ./build-py-project.sh"
- cd doc && make html
- git config --global user.name "${COMMIT_USER}"
- git config --global user.email "${COMMIT_EMAIL}"
- git clone https://${GH_USER}:${GH_ACCESS_TOKEN}@${HOMEPAGE_URL} homepage
- cd homepage
- git checkout src
- cd static && mkdir -p docs
- rm -rf docs/volumential
- cp -r ../../build/html docs/volumential
- git add -f ./docs/volumential
- (git commit -m "Auto-updated volumential docs") || (echo "Docs are up to date")
- git push
tags:
- python3
except:
- tags
allow_failure: true
Docker Image w/t Firedrake:
script:
- docker info
- docker pull firedrakeproject/firedrake:latest
- docker build --no-cache -t xywei/volumential-firedrake:latest -f docker/Dockerfile.firedrake .
- docker build --no-cache -t xywei/volumential-firedrake-jupyterlab:latest -f docker/Dockerfile.firedrake_jupyterlab .
- docker build --no-cache -t xywei/volumential-firedrake-jupyterlab-vim:latest -f docker/Dockerfile.firedrake_jupyterlab_vim .
- bash -c 'if [ "$BRANCH_PROTECTED" = 1 ]; then exit 0; else exit 1; fi'
- docker login --username "${DOCKERHUB_USERNAME}" --password "${DOCKERHUB_ACCESS_TOKEN}"
- docker push xywei/volumential-firedrake:latest
- docker push xywei/volumential-firedrake-jupyterlab:latest
- docker push xywei/volumential-firedrake-jupyterlab-vim:latest
tags:
- docker
except:
- tags
allow_failure: true