Skip to content

Feature/sunadjoint #2798

Feature/sunadjoint

Feature/sunadjoint #2798

name: Build - Ubuntu/Clang (no TPLs)
on:
pull_request:
merge_group:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build_cycle_log_levels:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 2
matrix:
# Level 2 is also used in other builds (it's the default) but include it
# here to ensure it's tested with all warning flags
logging_level: [0, 1, 2, 3, 4, 5]
steps:
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "14.0"
- uses: actions/checkout@v4
- name: Configure CMake
# Configure CMake in a 'build' subdirectory.
run: |
cmake \
-B ${{github.workspace}}/build \
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-D CMAKE_C_COMPILER=$(which clang) \
-D CMAKE_CXX_COMPILER=$(which clang++) \
-D SUNDIALS_LOGGING_LEVEL=${{matrix.logging_level}} \
-D ENABLE_ALL_WARNINGS=ON \
-D ENABLE_WARNINGS_AS_ERRORS=ON
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
build_cycle_profiling:
runs-on: ubuntu-latest
strategy:
matrix:
profiling: ['OFF', 'ON']
steps:
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "14.0"
- uses: actions/checkout@v4
- name: Configure CMake
# Configure CMake in a 'build' subdirectory.
run: |
cmake \
-B ${{github.workspace}}/build \
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-D CMAKE_C_COMPILER=$(which clang) \
-D CMAKE_CXX_COMPILER=$(which clang++) \
-D SUNDIALS_BUILD_WITH_PROFILING=${{matrix.profiling}} \
-D ENABLE_ALL_WARNINGS=ON \
-D ENABLE_WARNINGS_AS_ERRORS=ON
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}