Extend the netcdf API to support programmatic changes to the plugin search path #1413
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### | |
# Build hdf4, hdf5 dependencies and cache them in a combined directory. | |
# See https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners | |
# for information related to github runners. | |
### | |
name: Run MSYS2, MinGW64-based Tests (Not Visual Studio) | |
env: | |
CPPFLAGS: "-D_BSD_SOURCE" | |
REMOTETESTDOWN: ${{ vars.REMOTETESTDOWN }} | |
on: [pull_request,workflow_dispatch] | |
concurrency: | |
group: ${{ github.workflow}}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
build-and-test-autotools: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
msystem: [ MINGW64, UCRT64] #, CLANG64 ] | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.msystem }} | |
update: true | |
pacboy: cc:p autotools:p hdf5:p curl:p libxml2:p zlib:p blosc:p bzip2:p | |
install: diffutils m4 git unzip | |
### | |
# Configure and build | |
### | |
- name: (Autotools) Run autoconf | |
run: autoreconf -if | |
- name: (Autotools) Configure Build | |
run: ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --disable-static --disable-byterange --disable-dap-remote-tests --disable-logging --enable-plugins --disable-nczarr-filters --disable-s3 | |
if: ${{ success() }} | |
- name: (Autotools) Look at config.log if error | |
run: cat config.log | |
if: ${{ failure() }} | |
- name: (Autotools) Print Summary | |
run: cat libnetcdf.settings | |
- name: (Autotools) Build Library and Utilities | |
run: make -j 8 LDFLAGS="-Wl,--export-all-symbols" | |
if: ${{ success() }} | |
- name: Check for plugins | |
run: | | |
dir ./plugins | |
if test -f ./plugins/.libs ; then dir ./plugins/.libs; fi | |
- name: (Autotools) Build and Run Tests | |
run: make check -j 8 LDFLAGS="-Wl,--export-all-symbols" | |
if: ${{ success() }} | |
id: tests | |
- name: Upload test failures | |
if: ${{ failure() && steps.tests.conclusion == 'failure' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mingw-autotools-test-logs | |
path: | | |
*/*.log | |
*/*.trs | |
build-and-test-cmake: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
msystem: [ MINGW64, UCRT64] #, CLANG64 ] | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.msystem }} | |
update: true | |
pacboy: cc:p cmake:p hdf5:p curl:p libxml2:p zlib:p blosc:p bzip2:p | |
install: make m4 diffutils git unzip | |
### | |
# Configure and build | |
### | |
- name: (CMake) Configure Build | |
run: | | |
LDFLAGS="-Wl,--export-all-symbols" \ | |
cmake \ | |
-G"MSYS Makefiles" \ | |
-B build \ | |
-S . \ | |
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ | |
-DBUILD_SHARED_LIBS=ON \ | |
-DNETCDF_ENABLE_NETCDF_4=ON \ | |
-DNETCDF_ENABLE_DAP=ON \ | |
-DNETCDF_BUILD_UTILITIES=ON \ | |
-DNETCDF_ENABLE_TESTS=ON \ | |
-DNETCDF_ENABLE_HDF5=ON \ | |
-DNETCDF_ENABLE_DAP=TRUE \ | |
-DNETCDF_ENABLE_NCZARR=TRUE \ | |
-DNETCDF_ENABLE_DAP_LONG_TESTS=TRUE \ | |
-DNETCDF_ENABLE_PLUGINS=ON | |
if: ${{ success() }} | |
- name: (CMake) Look at CMakeCache.txt if error | |
run: cat build/CMakeCache.txt | |
if: ${{ failure() }} | |
- name: (CMake) Print Summary | |
run: cat build/libnetcdf.settings | |
- name: (CMake) Build All | |
run: cmake --build build -j$(nproc) | |
if: ${{ success() }} | |
- name: (CMake) Run Tests | |
run: PATH=$PWD/build:$PATH ctest --test-dir build | |
if: ${{ success() }} | |
- name: (CMake) Verbose output of CTest failures | |
run: >- | |
PATH=$PWD/build:$PATH ctest --test-dir build --output-on-failure -j$(nproc) --rerun-failed -VV | |
if: ${{ failure() }} |