summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2019-11-10 10:14:01 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2019-11-28 12:51:58 +0200
commitc02593fddc70402d8a3f50b8ae476e1778d5cd3c (patch)
treeec6106c602800cb3f771b03074ba570c82f13b8a /.github
parentdd15c47ea8c8cde4b954dad1ea9625c360412f14 (diff)
downloadmeson-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.yml98
-rw-r--r--.github/workflows/lint_mypy.yml2
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