39
39
FIREDRAKE_CI : 1
40
40
PYOP2_CI_TESTS : 1
41
41
PYOP2_SPMD_STRICT : 1
42
- EXTRA_PYTEST_ARGS : --splitting-algorithm least_duration --timeout=600 --timeout-method=thread -o faulthandler_timeout=660 firedrake-repo/tests/firedrake
42
+ EXTRA_PYTEST_ARGS : --splitting-algorithm least_duration --timeout=600 --timeout-method=thread -o faulthandler_timeout=660
43
43
PYTEST_MPI_MAX_NPROCS : 8
44
44
steps :
45
45
- name : Fix HOME
72
72
xargs -L1 ./configure --with-make-np=8 --download-slepc
73
73
make PETSC_DIR=/__w/firedrake/firedrake/petsc PETSC_ARCH=arch-firedrake-${{ matrix.arch }}
74
74
make check
75
- echo "PETSC_DIR=/__w/firedrake/firedrake/petsc" >> "$GITHUB_ENV"
76
- echo "PETSC_ARCH=arch-firedrake-${{ matrix.arch }}" >> "$GITHUB_ENV"
75
+ {
76
+ echo "PETSC_DIR=/__w/firedrake/firedrake/petsc"
77
+ echo "PETSC_ARCH=arch-firedrake-${{ matrix.arch }}"
78
+ echo "SLEPC_DIR=/__w/firedrake/firedrake/petsc/arch-firedrake-${{ matrix.arch }}"
79
+ } >> "$GITHUB_ENV"
77
80
78
81
- name : Install Firedrake
79
82
id : install
@@ -98,63 +101,85 @@ jobs:
98
101
firedrake-check
99
102
timeout-minutes : 5
100
103
101
- - name : Run tests (nprocs = 1)
104
+ - name : Run TSFC tests
102
105
# Run even if earlier tests failed
103
- if : ${{ success() || steps.install.conclusion == 'success' }}
106
+ if : success() || steps.install.conclusion == 'success'
104
107
run : |
105
108
. venv/bin/activate
106
109
: # Use pytest-xdist here so we can have a single collated output (not possible
107
110
: # for parallel tests)
108
- firedrake-run-split-tests 1 1 "-n 8 $EXTRA_PYTEST_ARGS"
111
+ firedrake-run-split-tests 1 1 -n 8 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/tsfc
112
+ timeout-minutes : 60
113
+
114
+ - name : Run PyOP2 tests
115
+ if : success() || steps.install.conclusion == 'success'
116
+ run : |
117
+ . venv/bin/activate
118
+ : # Use pytest-xdist here so we can have a single collated output (not possible
119
+ : # for parallel tests)
120
+ firedrake-run-split-tests 1 1 -n 8 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
121
+ firedrake-run-split-tests 2 4 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
122
+ firedrake-run-split-tests 3 2 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
123
+ firedrake-run-split-tests 4 2 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/pyop2
124
+ timeout-minutes : 15
125
+
126
+
127
+ - name : Run Firedrake tests (nprocs = 1)
128
+ if : success() || steps.install.conclusion == 'success'
129
+ run : |
130
+ . venv/bin/activate
131
+ : # Use pytest-xdist here so we can have a single collated output (not possible
132
+ : # for parallel tests)
133
+ firedrake-run-split-tests 1 1 -n 8 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
109
134
timeout-minutes : 60
110
135
111
136
- name : Run tests (nprocs = 2)
112
- if : ${{ success() || steps.install.conclusion == 'success' }}
137
+ if : success() || steps.install.conclusion == 'success'
113
138
run : |
114
139
. venv/bin/activate
115
- firedrake-run-split-tests 2 4 "$EXTRA_PYTEST_ARGS"
140
+ firedrake-run-split-tests 2 4 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
116
141
timeout-minutes : 30
117
142
118
143
- name : Run tests (nprocs = 3)
119
- if : ${{ success() || steps.install.conclusion == 'success' }}
144
+ if : success() || steps.install.conclusion == 'success'
120
145
run : |
121
146
. venv/bin/activate
122
- firedrake-run-split-tests 3 2 "$EXTRA_PYTEST_ARGS"
147
+ firedrake-run-split-tests 3 2 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
123
148
timeout-minutes : 60
124
149
125
150
- name : Run tests (nprocs = 4)
126
- if : ${{ success() || steps.install.conclusion == 'success' }}
151
+ if : success() || steps.install.conclusion == 'success'
127
152
run : |
128
153
. venv/bin/activate
129
- firedrake-run-split-tests 4 2 "$EXTRA_PYTEST_ARGS"
154
+ firedrake-run-split-tests 4 2 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
130
155
timeout-minutes : 15
131
156
132
157
- name : Run tests (nprocs = 5)
133
- if : ${{ success() || steps.install.conclusion == 'success' }}
158
+ if : success() || steps.install.conclusion == 'success'
134
159
run : |
135
160
. venv/bin/activate
136
- firedrake-run-split-tests 5 1 "$EXTRA_PYTEST_ARGS"
161
+ firedrake-run-split-tests 5 1 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
137
162
timeout-minutes : 15
138
163
139
164
- name : Run tests (nprocs = 6)
140
- if : ${{ success() || steps.install.conclusion == 'success' }}
165
+ if : success() || steps.install.conclusion == 'success'
141
166
run : |
142
167
. venv/bin/activate
143
- firedrake-run-split-tests 6 1 "$EXTRA_PYTEST_ARGS"
168
+ firedrake-run-split-tests 6 1 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
144
169
timeout-minutes : 15
145
170
146
171
- name : Run tests (nprocs = 7)
147
- if : ${{ success() || steps.install.conclusion == 'success' }}
172
+ if : success() || steps.install.conclusion == 'success'
148
173
run : |
149
174
. venv/bin/activate
150
- firedrake-run-split-tests 7 1 "$EXTRA_PYTEST_ARGS"
175
+ firedrake-run-split-tests 7 1 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
151
176
timeout-minutes : 15
152
177
153
178
- name : Run tests (nprocs = 8)
154
- if : ${{ success() || steps.install.conclusion == 'success' }}
179
+ if : success() || steps.install.conclusion == 'success'
155
180
run : |
156
181
. venv/bin/activate
157
- firedrake-run-split-tests 8 1 "$EXTRA_PYTEST_ARGS"
182
+ firedrake-run-split-tests 8 1 "$EXTRA_PYTEST_ARGS" firedrake-repo/tests/firedrake
158
183
timeout-minutes : 15
159
184
160
185
- name : Run Gusto smoke tests
@@ -260,7 +285,7 @@ jobs:
260
285
- name : Setup Python
261
286
uses : actions/setup-python@v5
262
287
with :
263
- python-version : ' 3.12'
288
+ python-version : " 3.12"
264
289
- name : Install deps
265
290
run : pip install requests packaging
266
291
- name : Zenodo API canary
@@ -269,5 +294,5 @@ jobs:
269
294
uses : actions/upload-artifact@v4
270
295
if : failure()
271
296
with :
272
- name : " zenodo-canary"
297
+ name : zenodo-canary
273
298
path : firedrake-install.log
0 commit comments