diff options
| author | Michael Hirsch, Ph.D <scivision@users.noreply.github.com> | 2019-11-10 10:14:01 -0500 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-11-28 12:51:58 +0200 |
| commit | c02593fddc70402d8a3f50b8ae476e1778d5cd3c (patch) | |
| tree | ec6106c602800cb3f771b03074ba570c82f13b8a /.github | |
| parent | dd15c47ea8c8cde4b954dad1ea9625c360412f14 (diff) | |
| download | meson-c02593fddc70402d8a3f50b8ae476e1778d5cd3c.tar.gz | |
HDF5: make much more robust across platforms
This addresses various real-world problems with HDF5 pkg-config, including
* hdf*.pc with package versions as part of the filename
* malformed hdf*.pc missing the commonly-used HDF5 HL module
---
Additionally, this refactors more complicated dependencies such as
HDF5 and OpenMPI. This may help us deduplicate internal dependency
code in the future.
HDF5 selftest: improve platform-agnostic test
ci: init demo github action for HDF5 framework
ci Actions: hold off on MSYS2 for now [skip ci]
hdf5: ensure C libraries always included
ci: mac hdf5--use clang+gfortran
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/frameworks.yml | 98 | ||||
| -rw-r--r-- | .github/workflows/lint_mypy.yml | 2 |
2 files changed, 99 insertions, 1 deletions
diff --git a/.github/workflows/frameworks.yml b/.github/workflows/frameworks.yml new file mode 100644 index 000000000..4d764e217 --- /dev/null +++ b/.github/workflows/frameworks.yml @@ -0,0 +1,98 @@ +# at first, we demo HDF5 framework. More can be added. +name: ci_frameworks + +on: + push: + paths: + - "mesonbuild/dependencies/**" + - ".github/workflows/frameworks.yml" + pull_request: + paths: + - "mesonbuild/dependencies/**" + - ".github/workflows/frameworks.yml" + +jobs: + + linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-python@v1 + with: + python-version: '3.x' + - run: python -m pip install -e . + - run: sudo apt install -yq --no-install-recommends ninja-build g++ gfortran libhdf5-dev + - run: meson setup "test cases/frameworks/25 hdf5" build + env: + FC: gfortran + CXX: g++ + CC: gcc + - run: ninja -C build + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: Linux_Log + path: build/meson-logs/meson-log.txt + - run: meson test -C build -v + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: Linux_Test + path: build/meson-logs/testlog.txt + + mac: + runs-on: macos-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-python@v1 + with: + python-version: '3.x' + - run: python -m pip install -e . + - run: brew install pkg-config ninja gcc hdf5 + - run: meson setup "test cases/frameworks/25 hdf5" build + - run: ninja -C build + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: Mac_Log + path: build/meson-logs/meson-log.txt + - run: meson test -C build -v + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: Mac_Test + path: build/meson-logs/testlog.txt + + windows: + # as usual, start in MSYS to install packages, then switch to MINGW64 to build. + if: false + # MSYS2 GitHub Action is still being developed--appears to have PATH bugs stopping this from working. + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-python@v1 + with: + python-version: '3.x' + - uses: numworks/setup-msys2@v1 + with: + msystem: MSYS + - run: msys2do pacman -S mingw64/mingw-w64-x86_64-ninja mingw64/mingw-w64-x86_64-pkg-config mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-hdf5 --noprogressbar --noconfirm + - run: set MSYSTEM=MINGW64 + - run: python -m pip install -e . + - run: meson setup "test cases/frameworks/25 hdf5" build + env: + FC: gfortran + CXX: g++ + CC: gcc + - run: ninja -C build + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: MSYS_Log + path: build/meson-logs/meson-log.txt + - run: meson test -C build -v + - uses: actions/upload-artifact@v1 + if: failure() + with: + name: MSYS2_Test + path: build/meson-logs/testlog.txt
\ No newline at end of file diff --git a/.github/workflows/lint_mypy.yml b/.github/workflows/lint_mypy.yml index 3ce18596c..d2564e072 100644 --- a/.github/workflows/lint_mypy.yml +++ b/.github/workflows/lint_mypy.yml @@ -30,4 +30,4 @@ jobs: with: python-version: '3.x' - run: python -m pip install mypy - - run: mypy --follow-imports=skip mesonbuild/mtest.py mesonbuild/minit.py mesonbuild/msetup.py mesonbuild/wrap tools/ mesonbuild/modules/fs.py mesonbuild/dependencies/mpi.py + - run: mypy --follow-imports=skip mesonbuild/mtest.py mesonbuild/minit.py mesonbuild/msetup.py mesonbuild/wrap tools/ mesonbuild/modules/fs.py mesonbuild/dependencies/mpi.py mesonbuild/dependencies/hdf5.py |
