From 89fae896aeec488a7d3acc8a1b0974115cb4ead6 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Thu, 30 Jun 2022 06:58:37 -0700 Subject: Set Autotools build mode correctly in GitHub workflows (#1834) * Sets build mode correctly w/ Autotools * Updates GitHub gcc and installs OpenMPI --- .github/workflows/main.yml | 42 +++++++++++++++++++++++++++--------------- .github/workflows/pr-check.yml | 42 +++++++++++++++++++++++++++--------------- 2 files changed, 54 insertions(+), 30 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2282a09..c99aba9 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 ] 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", "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" @@ -73,7 +74,19 @@ jobs: - 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" + - name: "Ubuntu Debug Autotools GCC" + artifact: "LinuxA.tar.xz" + os: ubuntu-latest + build_type: "debug" cpp: enable fortran: enable java: enable @@ -134,7 +147,7 @@ jobs: - 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 +156,6 @@ 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" name: ${{ matrix.name }} # The type of runner that the job will run on @@ -164,7 +168,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 +197,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 + $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 5dd923f..eab08cd 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 ] 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", "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" @@ -72,7 +73,19 @@ jobs: - 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" + - name: "Ubuntu Debug Autotools GCC" + artifact: "LinuxA.tar.xz" + os: ubuntu-latest + build_type: "debug" cpp: enable fortran: enable java: enable @@ -133,7 +146,7 @@ jobs: - 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 +155,6 @@ 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" name: ${{ matrix.name }} # The type of runner that the job will run on @@ -163,7 +167,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 +196,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 + $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' -- cgit v0.12