Commit c634cd6e authored by David Frank's avatar David Frank Committed by Tobias Lasser
Browse files

Update to integrate elsa_testing

- Pipeline includes jobs for installing elsa, cloning elsa_testing and building it
- Adjustments made to install process, such that elsa_testing can be build and everything is working
parent f67bf9b3
Pipeline #319734 passed with stages
in 31 minutes
......@@ -31,7 +31,9 @@ cache:
### job templates ###
# run job only if it's connected to a schedule
#### Schedule jobs ####
# run job only only on schedules
.job_template: &nightly_job
only:
- schedules
......@@ -58,6 +60,7 @@ cache:
- triggers
- web
#### Build job templates ####
.job_template: &build_job_artifact
<<: *run_always
......@@ -90,9 +93,11 @@ cache:
- ninja build-benchmarks
- ninja build-examples
.job_template: &test_job_artifact
#### Test job templates ####
.testjob_template: &test_job_artifact
<<: *run_always
script:
script:
- cd build
- ninja tests
artifacts:
......@@ -103,13 +108,45 @@ cache:
reports:
junit: "build/test_reports/test_*.xml"
#### Install job templates ####
.installjob_clang_anchors:
script: &installjob_script_clang
- git clone https://gitlab.lrz.de/IP/elsa_testing.git /tmp/elsa_testing
- cd /tmp/elsa_testing
- mkdir -p build/ && cd build/
- cmake .. -GNinja -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-lc++abi"
- ninja
.installjob_default_anchors:
script: &installjob_script
- git clone https://gitlab.lrz.de/IP/elsa_testing.git /tmp/elsa_testing
- cd /tmp/elsa_testing
- mkdir -p build/ && cd build/
- cmake .. -GNinja
- ninja
.installjob_anchors: &install_job
<<: *run_on_merge_requests
before_script: &installjob_before_script
- cd build
- ninja install
cache: &install_cache
key: "$CI_COMMIT_REF_SLUG-$CI_JOB_NAME"
paths:
- thirdparty/
- .git/modules
- /tmp/elsa_testing
### static test ###
clang-format:
<<: *run_always
stage: static-test
image: $ANALYSIS_IMAGE
before_script:
- git submodule sync
- git submodule update --init
script:
./tools/ci_scripts/clang-format-test.sh
tags:
......@@ -242,6 +279,60 @@ test-gpu-only:
- gcc
- cuda
install-gcc:
<<: *install_job
stage: test
image: $GCC_IMAGE
dependencies:
- build-gcc
script: *installjob_script
tags:
- linux
- elsa
- gcc
install-clang:
<<: *install_job
stage: test
image: $CLANG_IMAGE
dependencies:
- build-clang
script: *installjob_script_clang
tags:
- linux
- elsa
- clang
install-cuda:
<<: *install_job
stage: test
image: $CUDA_IMAGE
dependencies:
- build-cuda
script: *installjob_script
tags:
- linux
- elsa
- gcc
- cuda
install-gpu-only:
<<: *install_job
stage: test
image: $GPU_ONLY_IMAGE
dependencies:
- build-gpu-only
script:
- git clone https://gitlab.lrz.de/IP/elsa_testing.git /tmp/elsa_testing
- cd /tmp/elsa_testing
- mkdir -p build/ && cd build/
- cmake .. -GNinja -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-lc++abi" -DELSA_CUDA_VECTOR=ON
- ninja
tags:
- linux
- elsa
- gcc
- cuda
### sanitizers ###
......@@ -342,19 +433,26 @@ deploy-docs:
.all-clang:
image: $CLANG_IMAGE
script:
script:
- mkdir -p build
- cd build
- cmake .. -GNinja -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-lc++abi"
- ninja
- ninja tests
- ninja install
- git clone https://gitlab.lrz.de/IP/elsa_testing.git /tmp/elsa_testing
- cd /tmp/elsa_testing
- mkdir -p build/ && cd build/
- cmake .. -GNinja -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-lc++abi"
- ninja
.all-gcc:
image: $GCC_IMAGE
script:
script:
- mkdir -p build
- cd build
- cmake .. -GNinja
- ninja
- ninja tests
- ninja install
- git clone https://gitlab.lrz.de/IP/elsa_testing.git /tmp/elsa_testing
- cd /tmp/elsa_testing
- mkdir -p build/ && cd build/
- cmake .. -GNinja
- ninja
......@@ -113,9 +113,13 @@ if(ELSA_CUDA_VECTOR)
message(STATUS "Enabling DataHandlerGPU")
message(STATUS "The default container type will be on the GPU")
set(ELSA_BUILD_WITH_QUICKVEC TRUE)
add_definitions(-DELSA_CUDA_VECTOR)
add_subdirectory(thirdparty/quickvec)
else()
set(ELSA_BUILD_WITH_QUICKVEC FALSE)
message(STATUS "CUDA compiler not found or not compiling with clang!")
message(STATUS "Compiling without a DataHandlerGPU")
message(STATUS "The default container type will be CPU")
......
......@@ -9,7 +9,7 @@ function(InstallElsaModule ELSA_MODULE_NAME ELSA_MODULE_TARGET_NAME ELSA_MODULE_
# install the module
install(TARGETS ${ELSA_MODULE_TARGET_NAME}
EXPORT ${ELSA_MODULE_EXPORT_TARGET}
INCLUDES DESTINATION include
# INCLUDES DESTINATION include
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
......
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
find_dependency(Eigen3 3.3 NO_MODULE REQUIRED)
find_dependency(Eigen3 3.3.7 REQUIRED)
find_dependency(spdlog REQUIRED)
find_dependency(OpenMP QUIET)
if (EXISTS "@CMAKE_CUDA_COMPILER@")
message(STATUS "Enable CUDA")
enable_language(CUDA)
find_library(CUDART_LIBRARY cudart ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
endif()
if (@ELSA_BUILD_WITH_QUICKVEC@) # ELSA_BUILD_WITH_QUICKVEC
message(STATUS "Looking for quickvec")
find_dependency(quickvec REQUIRED)
endif()
set(_supported_components @ELSA_REGISTERED_COMPONENTS@)
# if no specific components requested, include all
......@@ -24,3 +35,5 @@ else()
endforeach()
message(STATUS "elsa found, using components: ${elsa_FIND_COMPONENTS}")
endif()
check_required_components(elsa)
Subproject commit 33bc9d10bf941237bdca34588b46f242cd998cf2
Subproject commit a5bf6e06bb213d75bdcbfc39af0ec21b5dd08963
......@@ -3,6 +3,7 @@
# Applies clang-format
# check that we are in a clean state in order to prevent accidential changes
git status --untracked-files=no
if [ ! -z "$(git status --untracked-files=no --porcelain)" ]; then
echo "Script must be applied on a clean git state"
exit 1
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment