diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/main.yml | 67 | ||||
-rw-r--r-- | .github/workflows/pr-check.yml | 67 |
2 files changed, 104 insertions, 30 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3558460..93fdcaf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,7 +6,8 @@ on: push: branches: [ develop, hdf5_1_12, hdf5_1_10, hdf5_1_8, feature/vfd_swmr] paths-ignore: - - '.github/**' + - '.github/CODEOWNERS' + - '.github/FUNDING.yml' - 'doc/**' - 'release_docs/**' - 'ACKNOWLEDGEMENTS' @@ -20,7 +21,7 @@ jobs: strategy: # fail-fast: false matrix: - name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"] + name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Ubuntu Debug Autotools GCC", "-Werror Ubuntu Debug Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"] include: - name: "Windows Latest MSVC" artifact: "Windows-MSVC.tar.xz" @@ -34,6 +35,7 @@ jobs: hl: ON parallel: OFF generator: "-G \"Visual Studio 17 2022\" -A x64" + flags: "" - name: "Ubuntu Latest GCC" artifact: "Linux.tar.xz" os: ubuntu-latest @@ -46,6 +48,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "macOS Latest Clang" artifact: "macOS.tar.xz" os: macos-latest @@ -58,6 +61,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/clang.cmake" generator: "-G Ninja" + flags: "" - name: "Ubuntu Debug GCC" artifact: "LinuxDBG.tar.xz" os: ubuntu-latest @@ -70,10 +74,24 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "Ubuntu Autotools GCC" artifact: "LinuxA.tar.xz" os: ubuntu-latest - build_type: "Release" + build_type: "production" + cpp: enable + fortran: enable + java: enable + ts: disable + hl: enable + parallel: disable + toolchain: "" + generator: "autogen" + flags: "" + - name: "Ubuntu Debug Autotools GCC" + artifact: "LinuxA.tar.xz" + os: ubuntu-latest + build_type: "debug" cpp: enable fortran: enable java: enable @@ -82,6 +100,21 @@ jobs: parallel: disable toolchain: "" generator: "autogen" + flags: "" + # Build that ensures no new warnings sneak into the library. + - name: "-Werror Ubuntu Debug Autotools GCC" + artifact: "LinuxA.tar.xz" + os: ubuntu-latest + build_type: "debug" + cpp: disable + fortran: disable + java: disable + ts: disable + hl: enable + parallel: disable + toolchain: "" + generator: "autogen" + flags: "CFLAGS=-Werror" # Threadsafe runs - name: "Windows TS MSVC" artifact: "Windows-MSVCTS.tar.xz" @@ -95,6 +128,7 @@ jobs: hl: OFF parallel: OFF generator: "-G \"Visual Studio 16 2019\" -A x64" + flags: "" - name: "Ubuntu TS GCC" artifact: "LinuxTS.tar.xz" os: ubuntu-latest @@ -107,6 +141,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "macOS TS Clang" artifact: "macOSTS.tar.xz" os: macos-latest @@ -119,6 +154,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/clang.cmake" generator: "-G Ninja" + flags: "" - name: "TS Debug GCC" artifact: "LinuxTSDBG.tar.xz" os: ubuntu-latest @@ -131,10 +167,11 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "TS Autotools GCC" artifact: "LinuxATS.tar.xz" os: ubuntu-latest - build_type: "Release" + build_type: "production" cpp: disable fortran: disable java: disable @@ -143,15 +180,7 @@ jobs: parallel: disable toolchain: "" generator: "autogen" -# - name: "Ubuntu Parallel GCC" -# artifact: "LinuxPar.tar.xz" -# os: ubuntu-latest -# build_type: "Release" -# cpp: OFF -# fortran: OFF -# parallel: ON -# toolchain: "config/toolchain/GCC.cmake" -# generator: "-G Ninja" + flags: "" name: ${{ matrix.name }} # The type of runner that the job will run on @@ -164,7 +193,11 @@ jobs: run: sudo apt-get install ninja-build if: matrix.os == 'ubuntu-latest' - name: Install Autotools Dependencies (Linux) - run: sudo apt-get install automake autoconf libtool libtool-bin + run: | + sudo apt update + sudo apt install automake autoconf libtool libtool-bin + sudo apt install gcc-11 g++-11 gfortran-11 + sudo apt install openmpi-bin openmpi-common if: matrix.generator == 'autogen' - name: Install Dependencies (Windows) run: choco install ninja @@ -189,8 +222,12 @@ jobs: sh ./autogen.sh mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" - $GITHUB_WORKSPACE/configure --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java + ${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_type }} --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java shell: bash + env: + CC: gcc-11 + CXX: g++-11 + FC: gfortran-11 - name: Configure if: matrix.generator != 'autogen' diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 65e0ffd..dc3367c 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -5,7 +5,8 @@ on: pull_request: branches: [ develop, hdf5_1_12, hdf5_1_10, hdf5_1_8, feature/vfd_swmr ] paths-ignore: - - '.github/**' + - '.github/CODEOWNERS' + - '.github/FUNDING.yml' - 'doc/**' - 'release_docs/**' - 'ACKNOWLEDGEMENTS' @@ -19,7 +20,7 @@ jobs: strategy: # fail-fast: false matrix: - name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"] + name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Ubuntu Debug Autotools GCC", "-Werror Ubuntu Debug Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"] include: - name: "Windows Latest MSVC" artifact: "Windows-MSVC.tar.xz" @@ -33,6 +34,7 @@ jobs: hl: ON parallel: OFF generator: "-G \"Visual Studio 17 2022\" -A x64" + flags: "" - name: "Ubuntu Latest GCC" artifact: "Linux.tar.xz" os: ubuntu-latest @@ -45,6 +47,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "macOS Latest Clang" artifact: "macOS.tar.xz" os: macos-latest @@ -57,6 +60,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/clang.cmake" generator: "-G Ninja" + flags: "" - name: "Ubuntu Debug GCC" artifact: "LinuxDBG.tar.xz" os: ubuntu-latest @@ -69,10 +73,24 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "Ubuntu Autotools GCC" artifact: "LinuxA.tar.xz" os: ubuntu-latest - build_type: "Release" + build_type: "production" + cpp: enable + fortran: enable + java: enable + ts: disable + hl: enable + parallel: disable + toolchain: "" + generator: "autogen" + flags: "" + - name: "Ubuntu Debug Autotools GCC" + artifact: "LinuxA.tar.xz" + os: ubuntu-latest + build_type: "debug" cpp: enable fortran: enable java: enable @@ -81,6 +99,21 @@ jobs: parallel: disable toolchain: "" generator: "autogen" + flags: "" + # Build that ensures no new warnings sneak into the library. + - name: "-Werror Ubuntu Debug Autotools GCC" + artifact: "LinuxDBG.tar.xz" + os: ubuntu-latest + build_type: "debug" + cpp: disable + fortran: disable + java: disable + ts: disable + hl: enable + parallel: disable + toolchain: "" + generator: "autogen" + flags: "CFLAGS=-Werror" # Threadsafe runs - name: "Windows TS MSVC" artifact: "Windows-MSVCTS.tar.xz" @@ -94,6 +127,7 @@ jobs: hl: OFF parallel: OFF generator: "-G \"Visual Studio 16 2019\" -A x64" + flags: "" - name: "Ubuntu TS GCC" artifact: "LinuxTS.tar.xz" os: ubuntu-latest @@ -106,6 +140,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "macOS TS Clang" artifact: "macOSTS.tar.xz" os: macos-latest @@ -118,6 +153,7 @@ jobs: parallel: OFF toolchain: "config/toolchain/clang.cmake" generator: "-G Ninja" + flags: "" - name: "TS Debug GCC" artifact: "LinuxTSDBG.tar.xz" os: ubuntu-latest @@ -130,10 +166,11 @@ jobs: parallel: OFF toolchain: "config/toolchain/GCC.cmake" generator: "-G Ninja" + flags: "" - name: "TS Autotools GCC" artifact: "LinuxATS.tar.xz" os: ubuntu-latest - build_type: "Release" + build_type: "production" cpp: disable fortran: disable java: disable @@ -142,15 +179,7 @@ jobs: parallel: disable toolchain: "" generator: "autogen" -# - name: "Ubuntu Parallel GCC" -# artifact: "LinuxPar.tar.xz" -# os: ubuntu-latest -# build_type: "Release" -# cpp: OFF -# fortran: OFF -# parallel: ON -# toolchain: "config/toolchain/GCC.cmake" -# generator: "-G Ninja" + flags: "" name: ${{ matrix.name }} # The type of runner that the job will run on @@ -163,7 +192,11 @@ jobs: run: sudo apt-get install ninja-build if: matrix.os == 'ubuntu-latest' - name: Install Autotools Dependencies (Linux) - run: sudo apt-get install automake autoconf libtool libtool-bin + run: | + sudo apt update + sudo apt install automake autoconf libtool libtool-bin + sudo apt install gcc-11 g++-11 gfortran-11 + sudo apt install openmpi-bin openmpi-common if: matrix.generator == 'autogen' - name: Install Dependencies (Windows) run: choco install ninja @@ -188,8 +221,12 @@ jobs: sh ./autogen.sh mkdir "${{ runner.workspace }}/build" cd "${{ runner.workspace }}/build" - $GITHUB_WORKSPACE/configure --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java + ${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_type }} --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java shell: bash + env: + CC: gcc-11 + CXX: g++-11 + FC: gfortran-11 - name: Configure if: matrix.generator != 'autogen' |