From 11ddd6203f069504880bd460dbb74c2cfa8b7ee3 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Tue, 31 Dec 2024 08:00:05 -0600 Subject: [PATCH] fix clang ci (#5196) * Add minor version to install clang * Add clang version checks * Revert to ubuntu-22.04 * Try adding libtinfo5 * Disable fortran --- .github/workflows/cmake-analysis.yml | 20 ++++++++++---------- .github/workflows/cmake-ctest.yml | 6 ++++++ .github/workflows/cmake-script.yml | 18 +++++++++++++++--- .github/workflows/main-cmake.yml | 20 ++++++++------------ 4 files changed, 39 insertions(+), 25 deletions(-) diff --git a/.github/workflows/cmake-analysis.yml b/.github/workflows/cmake-analysis.yml index 9fc9ed998d4..0e1ba0d685b 100644 --- a/.github/workflows/cmake-analysis.yml +++ b/.github/workflows/cmake-analysis.yml @@ -27,7 +27,7 @@ jobs: # Linux (Ubuntu) w/ gcc + coverage # name: "Ubuntu GCC Coverage" - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Install CMake Dependencies (Linux_coverage) run: | @@ -122,19 +122,19 @@ jobs: # Linux (Ubuntu) w/ clang + LeakSanitizer # name: "Ubuntu Clang LeakSanitizer" - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Install CMake Dependencies (Linux_Leak) run: | sudo apt update - sudo apt-get install ninja-build doxygen graphviz curl + sudo apt-get install ninja-build doxygen graphviz curl libtinfo5 - name: add clang to env uses: KyleMayes/install-llvm-action@v2.0.5 id: setup-clang with: env: true - version: '18' + version: '18.1' - name: Set file base name (Linux_Leak) id: set-file-base @@ -222,19 +222,19 @@ jobs: # Linux (Ubuntu) w/ clang + AddressSanitizer # name: "Ubuntu Clang AddressSanitizer" - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Install CMake Dependencies (Linux_Address) run: | sudo apt update - sudo apt-get install ninja-build doxygen graphviz curl + sudo apt-get install ninja-build doxygen graphviz curl libtinfo5 - name: add clang to env uses: KyleMayes/install-llvm-action@v2.0.5 id: setup-clang with: env: true - version: '18' + version: '18.1' - name: Set file base name (Linux_Address) id: set-file-base @@ -322,19 +322,19 @@ jobs: # Linux (Ubuntu) w/ clang + UndefinedBehaviorSanitizer # name: "Ubuntu Clang UndefinedBehaviorSanitizer" - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Install CMake Dependencies (Linux_UndefinedBehavior) run: | sudo apt update - sudo apt-get install ninja-build doxygen graphviz curl + sudo apt-get install ninja-build doxygen graphviz curl libtinfo5 - name: add clang to env uses: KyleMayes/install-llvm-action@v2.0.5 id: setup-clang with: env: true - version: '18' + version: '18.1' - name: Set file base name (Linux_UndefinedBehavior) id: set-file-base diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml index 7941528c2ba..13963c64340 100644 --- a/.github/workflows/cmake-ctest.yml +++ b/.github/workflows/cmake-ctest.yml @@ -333,6 +333,12 @@ jobs: with: version: "1.9.7" + - name: check clang version + shell: bash + run: | + which clang + clang -v + - name: Install the Apple certificate and provisioning profile shell: bash env: diff --git a/.github/workflows/cmake-script.yml b/.github/workflows/cmake-script.yml index f4e1acaa000..245a7fb28cb 100644 --- a/.github/workflows/cmake-script.yml +++ b/.github/workflows/cmake-script.yml @@ -230,6 +230,12 @@ jobs: with: version: "1.9.7" + - name: check clang version + shell: bash + run: | + which clang + clang -v + - name: Set up JDK 19 uses: actions/setup-java@v4 with: @@ -615,19 +621,25 @@ jobs: # Linux (Ubuntu) w/ clang + CMake # name: "Ubuntu Clang CMake" - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Install CMake Dependencies (Linux_clang) run: | sudo apt-get update - sudo apt-get install ninja-build doxygen graphviz curl + sudo apt-get install ninja-build doxygen graphviz curl libtinfo5 - name: add clang to env uses: KyleMayes/install-llvm-action@v2.0.5 id: setup-clang with: env: true - version: '18' + version: '18.1' + + - name: check clang version + shell: bash + run: | + which clang + clang -v - name: Set file base name (Linux_clang) id: set-file-base diff --git a/.github/workflows/main-cmake.yml b/.github/workflows/main-cmake.yml index f054eae2048..57b2e1dd823 100644 --- a/.github/workflows/main-cmake.yml +++ b/.github/workflows/main-cmake.yml @@ -66,8 +66,6 @@ jobs: # Linux (Ubuntu) w/ gcc + CMake # - # We might think about adding Clang, but MacOS already tests that - # so it's not critical - name: "Ubuntu gcc" os: ubuntu-latest cpp: ON @@ -87,12 +85,10 @@ jobs: # MacOS w/ Clang + CMake # - # We could also build with the Autotools via brew installing them, - # but that seems unnecessary - name: "MacOS Clang" os: macos-latest cpp: ON - fortran: ON + fortran: OFF java: ON docs: ON libaecfc: ON @@ -139,13 +135,13 @@ jobs: if: ${{ matrix.os == 'macos-latest' }} # symlinks the compiler executables to a common location - - name: Install GNU Fortran (macOS) - uses: fortran-lang/setup-fortran@v1 - id: setup-fortran - with: - compiler: gcc - version: 14 - if: ${{ matrix.os == 'macos-latest' }} +# - name: Install GNU Fortran (macOS) +# uses: fortran-lang/setup-fortran@v1 +# id: setup-fortran +# with: +# compiler: gcc +# version: 14 +# if: ${{ matrix.os == 'macos-latest' }} - name: Install Dependencies uses: ssciwr/doxygen-install@v1