|
6 | 6 | - "scripts/CMakeLists.txt"
|
7 | 7 | - "cmake/libraries.json"
|
8 | 8 | - ".github/workflows/ci_build.yml"
|
9 |
| - release: |
10 |
| - types: [published] |
11 | 9 |
|
12 | 10 | jobs:
|
13 | 11 |
|
14 |
| - linux: |
15 |
| - runs-on: ubuntu-latest |
16 |
| - timeout-minutes: 15 |
| 12 | + linux_mac: |
| 13 | + timeout-minutes: 20 |
17 | 14 |
|
18 | 15 | strategy:
|
19 | 16 | matrix:
|
| 17 | + cfg: [{os: ubuntu-latest, fc: gfortran}, |
| 18 | + {os: macos-latest, fc: gfortran-11}] |
20 | 19 | shared: [true, false]
|
| 20 | + mpi: [mpich, openmpi] |
| 21 | + exclude: |
| 22 | + - cfg: {os: macos-latest, fc: gfortran-11} |
| 23 | + shared: true |
| 24 | + |
| 25 | + runs-on: ${{ matrix.cfg.os}} |
| 26 | + |
| 27 | + env: |
| 28 | + FC: ${{ matrix.cfg.fc }} |
21 | 29 |
|
22 | 30 | steps:
|
23 | 31 |
|
24 |
| - - name: install MPI |
| 32 | + - name: install MPI (Linux) |
| 33 | + if: runner.os == 'Linux' |
25 | 34 | run: |
|
26 | 35 | sudo apt update
|
27 |
| - sudo apt install --no-install-recommends libopenmpi-dev openmpi-bin |
| 36 | + sudo apt install --no-install-recommends lib${{ matrix.mpi }}-dev |
| 37 | +
|
| 38 | + - name: install MPI (MacOS) |
| 39 | + if: runner.os == 'macOS' |
| 40 | + run: brew install ${{ matrix.mpi }} |
28 | 41 |
|
29 | 42 | - uses: actions/checkout@v2
|
30 | 43 |
|
|
52 | 65 | run: cmake --build example/build --parallel
|
53 | 66 | - name: Test Examples
|
54 | 67 | run: ctest --test-dir example/build -V
|
55 |
| - |
56 |
| - |
57 |
| - |
58 |
| - macos: |
59 |
| - runs-on: macos-latest |
60 |
| - timeout-minutes: 20 |
61 |
| - |
62 |
| - strategy: |
63 |
| - matrix: |
64 |
| - shared: [false] |
65 |
| - mpi: [mpich, open-mpi] |
66 |
| - # HDF5-MPI upstream is broken for shared MacOS builds. |
67 |
| - |
68 |
| - steps: |
69 |
| - |
70 |
| - - uses: actions/checkout@v2 |
71 |
| - |
72 |
| - - name: Install MPI |
73 |
| - run: brew install ${{ matrix.mpi }} |
74 |
| - |
75 |
| - - name: Configure HDF5 with ${{ matrix.mpi }} |
76 |
| - run: cmake -S scripts -B scripts/build -DCMAKE_INSTALL_PREFIX=${{ runner.temp }} -DBUILD_SHARED_LIBS:BOOL=${{ matrix.shared }} |
77 |
| - |
78 |
| - - name: Build/install HDF5 |
79 |
| - run: cmake --build scripts/build --parallel |
80 |
| - |
81 |
| - - name: configure h5fortran with ${{ matrix.mpi }} |
82 |
| - run: cmake -B build -DCMAKE_INSTALL_PREFIX=${{ runner.temp }} -DBUILD_SHARED_LIBS:BOOL=${{ matrix.shared }} -DCMAKE_PREFIX_PATH=${{ runner.temp }} |
83 |
| - |
84 |
| - - name: build h5fortran |
85 |
| - run: cmake --build build --parallel |
86 |
| - |
87 |
| - - name: test h5fortran |
88 |
| - run: ctest --test-dir build --preset default |
89 |
| - |
90 |
| - - name: install h5fortran |
91 |
| - run: cmake --install build |
92 |
| - |
93 |
| - - name: configure examples |
94 |
| - run: cmake -S example -B example/build -DCMAKE_PREFIX_PATH:PATH=${{ runner.temp }} -DBUILD_SHARED_LIBS:BOOL=${{ matrix.shared }} |
95 |
| - |
96 |
| - - name: build Examples |
97 |
| - run: cmake --build example/build --parallel |
98 |
| - |
99 |
| - - name: Test Examples |
100 |
| - run: ctest --test-dir example/build -V |
0 commit comments