@@ -93,22 +93,22 @@ jobs:
9393
9494 - name : Install Python build dependencies
9595 run : |
96- pip install --upgrade -r python/build-requirements.txt
96+ pip -v install --upgrade -r python/build-requirements.txt
9797
9898 - name : Install FEniCS Python components
9999 run : |
100- pip install git+https://github.com/fenics/ufl.git@${{ env.ufl_ref }}
101- pip install git+https://github.com/fenics/basix.git@${{ env.basix_ref }}
102- pip install git+https://github.com/fenics/ffcx.git@${{ env.ffcx_ref }}
100+ pip install --no-build-isolation git+https://github.com/fenics/ufl.git@${{ env.ufl_ref }}
101+ pip install --no-build-isolation git+https://github.com/fenics/basix.git@${{ env.basix_ref }}
102+ pip install --no-build-isolation git+https://github.com/fenics/ffcx.git@${{ env.ffcx_ref }}
103103
104104 - name : Configure and install C++
105105 run : |
106- cmake -G Ninja -DDOLFINX_ENABLE_PETSC=false -DCMAKE_BUILD_TYPE=Developer -B build -S cpp/
106+ cmake -Werror=dev --warn-uninitialized - G Ninja -DDOLFINX_ENABLE_PETSC=false -DCMAKE_BUILD_TYPE=Developer -B build -S cpp/
107107 cmake --build build
108108 sudo cmake --install build
109109 - name : Build C++ unit tests
110110 run : |
111- cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/test/ -S cpp/test/
111+ cmake -Werror=dev --warn-uninitialized - G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/test/ -S cpp/test/
112112 cmake --build build/test
113113 - name : Run C++ unit tests (serial)
114114 run : |
@@ -124,9 +124,11 @@ jobs:
124124 pip install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Debug" 'python/[test]'
125125 python -c "from mpi4py import MPI; import dolfinx; assert not dolfinx.has_petsc4py"
126126
127- - name : Run mypy
127+ - name : Run mypy # Use a venv to avoid NumPy upgrades that are incompatible with numba
128128 working-directory : python
129129 run : |
130+ python -m venv mypy-env
131+ . ./mypy-env/bin/activate
130132 pip install mypy types-cffi scipy-stubs
131133 mypy -p dolfinx
132134 # mypy test
@@ -175,21 +177,24 @@ jobs:
175177 - name : Load environment variables
176178 run : cat .github/workflows/fenicsx-refs.env >> $GITHUB_ENV
177179
180+ - name : Install Python build dependencies
181+ run : pip install -r python/build-requirements.txt
182+
178183 - name : Install FEniCS Python components
179184 run : |
180- pip install git+https://github.com/FEniCS/ufl.git@${{ env.ufl_ref }}
181- pip install git+https://github.com/FEniCS/basix.git@${{ env.basix_ref }}
182- pip install git+https://github.com/FEniCS/ffcx.git@${{ env.ffcx_ref }}
185+ pip install --no-build-isolation git+https://github.com/FEniCS/ufl.git@${{ env.ufl_ref }}
186+ pip install --no-build-isolation git+https://github.com/FEniCS/basix.git@${{ env.basix_ref }}
187+ pip install --no-build-isolation git+https://github.com/FEniCS/ffcx.git@${{ env.ffcx_ref }}
183188
184189 - name : Configure, build and install C++ library
185190 run : |
186- cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -DDOLFINX_ENABLE_ADIOS2=true -DDOLFINX_ENABLE_KAHIP=true -DDOLFINX_ENABLE_PARMETIS=false -DDOLFINX_ENABLE_PETSC=true -DDOLFINX_ENABLE_SCOTCH=true -DDOLFINX_ENABLE_SLEPC=true -B build -S cpp/
191+ cmake -Werror=dev --warn-uninitialized - G Ninja -DCMAKE_BUILD_TYPE=Developer -DDOLFINX_ENABLE_ADIOS2=true -DDOLFINX_ENABLE_KAHIP=true -DDOLFINX_ENABLE_PARMETIS=false -DDOLFINX_ENABLE_PETSC=true -DDOLFINX_ENABLE_SCOTCH=true -DDOLFINX_ENABLE_SLEPC=true -B build -S cpp/
187192 cmake --build build
188193 cmake --install build
189194
190195 - name : Build C++ unit tests
191196 run : |
192- cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/test/ -S cpp/test/
197+ cmake -Werror=dev --warn-uninitialized - G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/test/ -S cpp/test/
193198 cmake --build build/test
194199 - name : Run C++ unit tests (serial)
195200 run : |
@@ -201,28 +206,30 @@ jobs:
201206 mpirun -n 3 ctest -V --output-on-failure -R unittests
202207 - name : Build and run C++ regression tests (serial and MPI (np=2))
203208 run : |
204- cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/demo/ -S cpp/demo/
209+ cmake -Werror=dev --warn-uninitialized - G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/demo/ -S cpp/demo/
205210 cmake --build build/demo
206211 cd build/demo
207212 ctest -V -R demo -R serial
208213 ctest --output-on-failure -V -R demo -R mpi_2
209214
210- - name : Install Python build dependencies
211- run : pip install -r python/build-requirements.txt
212-
213215 - name : Build Python interface
214216 run : |
215217 pip install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Debug" 'python/[test]'
216218 python -c "from mpi4py import MPI; import dolfinx; assert dolfinx.has_adios2; assert dolfinx.has_kahip; assert not dolfinx.has_parmetis; assert dolfinx.has_petsc; assert dolfinx.has_petsc4py; assert dolfinx.has_ptscotch; assert dolfinx.has_slepc; assert dolfinx.has_complex_ufcx_kernels"
217219
218- - name : Run mypy
220+ - name : Run mypy # Use a venv to avoid NumPy upgrades that are incompatible with numba
219221 working-directory : python
220222 run : |
223+ python -m venv mypy-env
224+ . ./mypy-env/bin/activate
221225 pip install mypy types-cffi scipy-stubs
222226 mypy -p dolfinx
223227 # mypy test
224228 # mypy demo
225229
230+ - name : Numpy version
231+ run : python -c "import numpy; print(numpy.__version__)"
232+
226233 - name : Set default DOLFINx JIT options
227234 run : |
228235 mkdir -p ~/.config/dolfinx
@@ -264,19 +271,19 @@ jobs:
264271
265272 - name : Install FEniCS Python components
266273 run : |
267- pip install git+https://github.com/FEniCS/ufl.git@${{ env.ufl_ref }}
268- pip install git+https://github.com/FEniCS/basix.git@${{ env.basix_ref }}
269- pip install git+https://github.com/FEniCS/ffcx.git@${{ env.ffcx_ref }}
274+ pip install -r python/build-requirements.txt
275+ pip install --no-build-isolation git+https://github.com/FEniCS/ufl.git@${{ env.ufl_ref }}
276+ pip install --no-build-isolation git+https://github.com/FEniCS/basix.git@${{ env.basix_ref }}
277+ pip install --no-build-isolation git+https://github.com/FEniCS/ffcx.git@${{ env.ffcx_ref }}
270278
271279 - name : Configure C++
272280 run : |
273- cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -B build -S cpp/
281+ cmake -Werror=dev --warn-uninitialized - G Ninja -DCMAKE_BUILD_TYPE=Developer -B build -S cpp/
274282 cmake --build build
275283 cmake --install build
276284
277285 - name : Build Python interface
278286 run : |
279- pip install -r python/build-requirements.txt
280287 pip install --check-build-dependencies --no-build-isolation --config-settings=cmake.build-type="Debug" 'python/[docs]'
281288
282289 - name : Build C++ interface documentation
0 commit comments