15
15
name : Install and test
16
16
strategy :
17
17
matrix :
18
- # NOTE: Re-enable windows-2022 after iimpi libfabric.dll issue fixed.
19
- os : [ubuntu-latest, macos-13, macos-14]
18
+ os : [ubuntu-latest, macos-13, macos-14, windows-2022]
20
19
python-version : ["3.9", "3.10", "3.11", "3.12"]
20
+ petsc-scalar-type : ["real"]
21
+ include :
22
+ - os : ubuntu-latest
23
+ python-version : " 3.12"
24
+ petsc-scalar-type : " complex"
21
25
runs-on : ${{ matrix.os }}
22
26
timeout-minutes : 30
23
27
# This is necessary to ensure conda environment is activated in every step.
@@ -31,16 +35,29 @@ jobs:
31
35
auto-update-conda : true
32
36
python-version : ${{ matrix.python-version }}
33
37
38
+ # TODO: These could probably be merged into one cross-platform step.
34
39
- name : Install DOLFINx with MPICH (Unix-like)
35
40
if : ${{ runner.os == 'macOS' || runner.os == 'Linux' }}
36
41
run : |
37
- conda install -c conda-forge fenics-dolfinx mpich
42
+ conda install -c conda-forge fenics-dolfinx mpich petsc=*=${{ matrix.petsc-scalar-type }}*
38
43
- name : Install DOLFINx (Windows)
39
44
if : ${{ runner.os == 'Windows' }}
40
45
run : |
41
46
conda install -c conda-forge fenics-dolfinx
42
47
43
- - name : Test
48
+ - name : Test (Unix-like)
49
+ if : ${{ runner.os == 'macOS' || runner.os == 'Linux' }}
50
+ run : |
51
+ conda info
52
+ conda list
53
+ mpiexec --version
54
+ mpiexec -v -np 1 python -c "from mpi4py import MPI; import dolfinx; dolfinx.mesh.create_rectangle(comm=MPI.COMM_WORLD, points=((0, 0), (2, 1)), n=(32, 16))"
55
+ mpiexec -v -np 2 python -c "from mpi4py import MPI; import dolfinx; dolfinx.mesh.create_rectangle(comm=MPI.COMM_WORLD, points=((0, 0), (2, 1)), n=(32, 16))"
56
+
57
+ # NOTE: Late 2024, Intel MPI is only correctly setup using cmd.exe.
58
+ - name : Test (Windows)
59
+ if : ${{ runner.os == 'Windows' }}
60
+ shell : cmd /C CALL {0}
44
61
run : |
45
62
conda info
46
63
conda list
0 commit comments