diff --git a/.github/workflows/ci-baseline.yml b/.github/workflows/ci-baseline.yml new file mode 100644 index 0000000..a374ae5 --- /dev/null +++ b/.github/workflows/ci-baseline.yml @@ -0,0 +1,105 @@ +name: github-Linux-baseline + +on: + pull_request: + types: [ opened, reopened, synchronize ] + paths-ignore: + - 'logos/**' + - 'helper_scripts/**' + - 'docker_scripts/**' + - 'docs/**' + - '**/*.md' + push: # for direct quick fixes + branches: + - 'main' + - 'develop' + paths-ignore: + - 'logos/**' + - 'helper_scripts/**' + - 'docker_scripts/**' + - 'docs/**' + - '**/*.md' + +concurrency: + group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{github.event_name == 'pull_request'}} + +jobs: + CI: + name: baseline + continue-on-error: false + strategy: + fail-fast: false + matrix: + image: + - fedora-clang-17 + - fedora-gnu-13 + - ubuntu-clang-14 + - ubuntu-gnu-11 + #- intel-oneapi-latest + build_type: + - Release + - Debug + cmake_extra_args: + - '' + include: + - image: ubuntu-gnu-11 + build_type: Release + cmake_extra_args: '-D CMAKE_CXX_STANDARD=20 -D PRESSIO_ENABLE_CXX20=ON' + - image: ubuntu-clang-14 + build_type: Release + cmake_extra_args: '-D CMAKE_CXX_STANDARD=20 -D PRESSIO_ENABLE_CXX20=ON' + - image: fedora-gnu-13 + build_type: Release + cmake_extra_args: '-D CMAKE_CXX_STANDARD=20 -D PRESSIO_ENABLE_CXX20=ON' + - image: fedora-clang-17 + build_type: Release + cmake_extra_args: '-D CMAKE_CXX_STANDARD=20 -D PRESSIO_ENABLE_CXX20=ON' + + runs-on: ubuntu-latest + container: + image: ghcr.io/pressio/${{ matrix.image }} + credentials: + username: ${{ github.actor }} + password: ${{ secrets.github_token }} + env: + eigen_version: 3.4.0 + num_cpus: 2 # $(cat /proc/cpuinfo | grep processor -c) + + steps: + - uses: actions/checkout@v4 + + - name: Checkout pressio examples + uses: actions/checkout@v4 + with: + repository: Pressio/pressio-templates-usage-as-library + path: examples + + - name: Preparing environment + run: | + wget https://gitlab.com/libeigen/eigen/-/archive/${{ env.eigen_version }}/eigen-${{ env.eigen_version }}.tar.gz \ + && mkdir -p /eigen \ + && tar -xf eigen-${{ env.eigen_version }}.tar.gz -C /eigen + + - name: Configure + run: | + cmake -B builddir \ + -D CMAKE_BUILD_TYPE:STRING=${{ matrix.build_type }} \ + -D CMAKE_C_COMPILER=$CC \ + -D CMAKE_CXX_COMPILER=$CXX \ + -D CMAKE_CXX_FLAGS='-Wall -Werror' \ + -D CMAKE_INSTALL_PREFIX:PATH=../install \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + ${{ matrix.cmake_extra_args }} \ + -D PRESSIO_OPS_ENABLE_TESTS:BOOL=ON \ + -D PRESSIO_ENABLE_TPL_EIGEN:BOOL=ON \ + -D EIGEN_INCLUDE_DIR=/eigen/eigen-${{ env.eigen_version }} + + - name: Build + run: | + cmake --build builddir --target install + + - name: Run tests + working-directory: builddir/tests + run: | + ctest -j $num_cpus --output-on-failure diff --git a/tests/cmake/.macrosForCreatingTests.cmake.~undo-tree~ b/tests/cmake/.macrosForCreatingTests.cmake.~undo-tree~ deleted file mode 100644 index 7ba3a6c..0000000 --- a/tests/cmake/.macrosForCreatingTests.cmake.~undo-tree~ +++ /dev/null @@ -1,4 +0,0 @@ -(undo-tree-save-format-version . 1) -"ae2e908d02bf3174038cf0fba1247658fb1ad659" -[nil current nil nil (26325 30169 659695 0) 0 nil] -nil diff --git a/tests/cmake/.macrosForCreatingUnitTests.cmake.~undo-tree~ b/tests/cmake/.macrosForCreatingUnitTests.cmake.~undo-tree~ index fe22e5e..90676df 100644 --- a/tests/cmake/.macrosForCreatingUnitTests.cmake.~undo-tree~ +++ b/tests/cmake/.macrosForCreatingUnitTests.cmake.~undo-tree~ @@ -1,4 +1,4 @@ (undo-tree-save-format-version . 1) -"d9f0f22f534574c2209c1758f13b89645d3321b2" -[nil current nil nil (26325 30216 49299 0) 0 nil] +"2b4f63d4ddc8744f7c3b6914c8bc4706cd7762dc" +[nil current nil nil (26376 53248 93049 0) 0 nil] nil diff --git a/tests/cmake/.options.cmake.~undo-tree~ b/tests/cmake/.options.cmake.~undo-tree~ deleted file mode 100644 index 7b24c31..0000000 --- a/tests/cmake/.options.cmake.~undo-tree~ +++ /dev/null @@ -1,4 +0,0 @@ -(undo-tree-save-format-version . 1) -"ef07ac22caea49a9cbd96d4654e5db6fc67f9b35" -[nil current nil nil (26325 30209 457076 0) 0 nil] -nil diff --git a/tests/expressions/CMakeLists.txt b/tests/expressions/CMakeLists.txt index 6ec750e..528ef97 100644 --- a/tests/expressions/CMakeLists.txt +++ b/tests/expressions/CMakeLists.txt @@ -1,7 +1,7 @@ # to include google test fixtures include_directories(${CMAKE_CURRENT_SOURCE_DIR}/fixtures) -if(PRESSIO_OPS_ENABLE_TPL_EIGEN) +if(PRESSIO_ENABLE_TPL_EIGEN) add_serial_utest( expressions_eigen eigen_span.cc @@ -11,7 +11,7 @@ if(PRESSIO_OPS_ENABLE_TPL_EIGEN) ) endif() -if(PRESSIO_OPS_ENABLE_TPL_KOKKOS) +if(PRESSIO_ENABLE_TPL_KOKKOS) add_serial_utest_kokkos( expressions_kokkos kokkos_span.cc @@ -21,7 +21,7 @@ if(PRESSIO_OPS_ENABLE_TPL_KOKKOS) ) endif() -if(PRESSIO_OPS_ENABLE_TPL_TRILINOS) +if(PRESSIO_ENABLE_TPL_TRILINOS) set(SRC ${CMAKE_CURRENT_SOURCE_DIR}/tpetra_column.cc) add_utest_mpi(expressions_tpetra_column gTestMain_tpetra 3 "${SRC}") diff --git a/tests/ops/CMakeLists.txt b/tests/ops/CMakeLists.txt index a89e11d..fe0ca26 100644 --- a/tests/ops/CMakeLists.txt +++ b/tests/ops/CMakeLists.txt @@ -2,7 +2,7 @@ # to include google test fixtures include_directories(${CMAKE_CURRENT_SOURCE_DIR}/fixtures) -if(PRESSIO_OPS_ENABLE_TPL_EIGEN) +if(PRESSIO_ENABLE_TPL_EIGEN) add_serial_utest( ops_eigen ops_eigen_vector.cc @@ -16,7 +16,7 @@ if(PRESSIO_OPS_ENABLE_TPL_EIGEN) ) endif() -if(PRESSIO_OPS_ENABLE_TPL_KOKKOS) +if(PRESSIO_ENABLE_TPL_KOKKOS) add_serial_utest_kokkos(ops_vector_kokkos ops_kokkos_vector.cc ops_kokkos_matrix.cc @@ -28,7 +28,7 @@ if(PRESSIO_OPS_ENABLE_TPL_KOKKOS) ) endif() -if(PRESSIO_OPS_ENABLE_TPL_TRILINOS) +if(PRESSIO_ENABLE_TPL_TRILINOS) # TPETRA set(SRC1 ${CMAKE_CURRENT_SOURCE_DIR}/ops_tpetra_vector.cc) add_utest_mpi(ops_vector_tpetra gTestMain_tpetra 3 "${SRC1}") diff --git a/tests/type_traits/CMakeLists.txt b/tests/type_traits/CMakeLists.txt index 65e3795..bf6e478 100644 --- a/tests/type_traits/CMakeLists.txt +++ b/tests/type_traits/CMakeLists.txt @@ -2,7 +2,7 @@ set(SRC1 ${CMAKE_CURRENT_SOURCE_DIR}/detect_typedefs.cc) add_serial_utest(type_traits_nested_typedefs ${SRC1}) -if(PRESSIO_OPS_ENABLE_TPL_EIGEN) +if(PRESSIO_ENABLE_TPL_EIGEN) set(SRC1 ${CMAKE_CURRENT_SOURCE_DIR}/all_have_traits.cc) set(EXE type_traits_all_have_traits_eigen) add_serial_utest(${EXE} ${SRC1}) @@ -17,7 +17,7 @@ if(PRESSIO_OPS_ENABLE_TPL_EIGEN) add_serial_utest(type_traits_eigen ${SRC1}) endif() -if(PRESSIO_OPS_ENABLE_TPL_KOKKOS) +if(PRESSIO_ENABLE_TPL_KOKKOS) set(SRC1 ${CMAKE_CURRENT_SOURCE_DIR}/all_have_traits.cc) set(EXE type_traits_all_have_traits_kokkos) add_serial_utest(${EXE} ${SRC1}) @@ -32,7 +32,7 @@ if(PRESSIO_OPS_ENABLE_TPL_KOKKOS) add_serial_utest_kokkos(type_traits_kokkos ${SRC1}) endif() -if(PRESSIO_OPS_ENABLE_TPL_TRILINOS) +if(PRESSIO_ENABLE_TPL_TRILINOS) set(SRC ${CMAKE_CURRENT_SOURCE_DIR}/traits_teuchos.cc) add_serial_utest(type_traits_teuchos ${SRC})