diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29167d820f3a0572f71dc9a8260c29ea673cda93..9c655a0433455e20814c052fccf187a683886517 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -169,6 +169,19 @@ include: sed -i "s|^libdir=.*|libdir='${LIBCHECK_ROOT}/lib'|" $(find "${LIBCHECK_ROOT}" -name '*.la') fi script: + - mkdir build && cd build + - > + cmake .. + -DBUILD_TESTING:BOOL=ON + -DCheck_ROOT="${LIBCHECK_ROOT}" + -DMTIME_ENABLE_PYTHON:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH="${INSTALL_PREFIX}" + -G"${CMAKE_GENERATOR}" + - ${MAKE_CMD} 2>&1 | tee "${BUILD_LOG}" + - ${MAKE_CMD} test + - ${MAKE_CMD} install + - py_lib_prefix=$(dirname $(find "${INSTALL_PREFIX}" -path '*/mtime/__init__.py' -exec dirname {} + -quit)) + - PYTHONPATH="${py_lib_prefix}${PYTHONPATH+":${PYTHONPATH}"}" python3 test/test_python.sh - | # Check if there are compiler warnings compiler_warnings="${CI_PROJECT_DIR}/compiler_warnings.txt" @@ -198,51 +211,30 @@ include: when: manual - when: always interruptible: true + artifacts: + when: on_failure + paths: + - "**/CMakeCache.txt" + - "**/LastTest.log" cache: policy: pull key: ${LIBCHECK_SHA256} paths: - ${LIBCHECK_ROOT} -.common_cmake: +.common_makefiles: extends: .common - variables: - CMAKE_EXTRA_ARGS: - script: - - mkdir build && cd build - - > - cmake .. - -DBUILD_TESTING:BOOL=ON - -DCheck_ROOT="${LIBCHECK_ROOT}" - -DMTIME_ENABLE_PYTHON:BOOL=ON - -DCMAKE_INSTALL_PREFIX:PATH="${INSTALL_PREFIX}" - -G"${CMAKE_GENERATOR}" - ${CMAKE_EXTRA_ARGS} - - ${MAKE_CMD} 2>&1 | tee "${BUILD_LOG}" - - ${MAKE_CMD} test - - ${MAKE_CMD} install - - py_lib_prefix=$(dirname $(find "${INSTALL_PREFIX}" -path '*/mtime/__init__.py' -exec dirname {} + -quit)) - - PYTHONPATH="${py_lib_prefix}${PYTHONPATH+":${PYTHONPATH}"}" python3 test/test_python.sh - - !reference [.common, script] - artifacts: - when: on_failure - paths: - - "**/CMakeCache.txt" - - "**/LastTest.log" - -.common_cmake_makefiles: - extends: .common_cmake variables: CMAKE_GENERATOR: Unix Makefiles MAKE_CMD: make --jobs=${JOB_COUNT} VERBOSE=1 -.common_cmake_ninja: - extends: .common_cmake +.common_ninja: + extends: .common variables: CMAKE_GENERATOR: Ninja MAKE_CMD: ninja -j ${JOB_COUNT} --verbose before_script: - - !reference [.common_cmake, before_script] + - !reference [.common, before_script] - export PATH="/sw/spack-levante/ninja-1.11.1-ahbo5l/bin:${PATH}" .check_gcc: @@ -276,36 +268,36 @@ include: Check with GCC 11.2.0 (Ninja): extends: - - .common_cmake_ninja + - .common_ninja - .check_gcc before_script: - - !reference [.common_cmake_ninja, before_script] + - !reference [.common_ninja, before_script] - !reference [.check_gcc, before_script] cache: policy: pull-push Check with Intel 2021.5.0 (Unix Makefiles): extends: - - .common_cmake_makefiles + - .common_makefiles - .check_intel before_script: - - !reference [.common_cmake_makefiles, before_script] + - !reference [.common_makefiles, before_script] - !reference [.check_intel, before_script] Check with NVHPC 24.7 (Ninja): extends: - - .common_cmake_ninja + - .common_ninja - .check_nvhpc before_script: - - !reference [.common_cmake_ninja, before_script] + - !reference [.common_ninja, before_script] - !reference [.check_nvhpc, before_script] Check with NAG 7.1.7114 (Unix Makefiles): extends: - - .common_cmake_makefiles + - .common_makefiles - .check_nag before_script: - - !reference [.common_cmake_makefiles, before_script] + - !reference [.common_makefiles, before_script] - !reference [.check_nag, before_script] # nagfor is supposed to use non-default gcc: - export FFLAGS="-Wc=`which gcc` $FFLAGS"