diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a6013ad5f5405d5b0a3d5e9791d1c8bbccf2ae32..a9dab676b670c6deca2ef7a86b35063777e1dcf8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,6 @@ stages: - build .general: - only: [merge_requests] retry: max: 2 when: @@ -17,14 +16,45 @@ stages: native-build: extends: .general + only: [merge_requests] stage: build image: registry.orfeo-toolbox.org/gbonnefille/otb-build-env/otb-ubuntu-native:18.04 script: - ctest -VV -S CI/main_ci.cmake -DIMAGE_NAME:string=ubuntu-18.04-gcc -shark-build: +.build-common: extends: .general stage: build image: registry.orfeo-toolbox.org/gbonnefille/otb-build-env/otb-ubuntu-shark:18.04 script: - ctest -VV -S CI/main_ci.cmake -DIMAGE_NAME:string=ubuntu-18.04-llvm-shark + +build-wip: + extends: .build-common + variables: + OTB_CI_PROFILE: 'wip' + except: + - merge_requests + - develop + - /^release-[0-9]+\.[0-9]+$/ + +build-mr: + extends: .build-common + variables: + OTB_CI_PROFILE: 'mr' + only: + - merge_requests + +build-develop: + extends: .build-common + variables: + OTB_CI_PROFILE: 'develop' + only: + - develop + +build-release: + extends: .build-common + variables: + OTB_CI_PROFILE: 'release' + only: + - /^release-[0-9]+\.[0-9]+$/ diff --git a/CI/main_ci.cmake b/CI/main_ci.cmake index 1d6d215ee2669133621cee707e82aade91d75564..92fb427c3fded046e52b1506abac912f09caf076 100644 --- a/CI/main_ci.cmake +++ b/CI/main_ci.cmake @@ -26,7 +26,17 @@ set (ENV{LANG} "C") # Only ascii output set (CTEST_BUILD_CONFIGURATION "Release") set (CTEST_CMAKE_GENERATOR "Ninja") -set (CTEST_BUILD_NAME "$ENV{CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}_to_$ENV{CI_MERGE_REQUEST_TARGET_BRANCH_NAME}") +# Find the build name +set(ci_mr_source "$ENV{CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}") +set(ci_mr_target "$ENV{CI_MERGE_REQUEST_TARGET_BRANCH_NAME}") +set(ci_ref_name "$ENV{CI_COMMIT_REF_NAME}") +set (CTEST_BUILD_NAME "$ENV{CI_COMMIT_SHORT_SHA}") +if(ci_mr_source AND ci_mr_target) + set (CTEST_BUILD_NAME "${CTEST_BUILD_NAME} (${ci_mr_source} to ${ci_mr_target})") +elseif(ci_ref_name) + set (CTEST_BUILD_NAME "${CTEST_BUILD_NAME} (${ci_ref_name})") +endif() + set (CTEST_SITE "${IMAGE_NAME}") # Directory variable @@ -42,6 +52,7 @@ set (CMAKE_COMMAND "cmake") set (OTB_DATA_ROOT "${OTB_SOURCE_DIR}/otb-data/") # todo set (OTB_LARGEINPUT_ROOT "") # todo +message(STATUS "CI profile : $ENV{OTB_CI_PROFILE}") #The following file set the CONFIGURE_OPTIONS variable set (CONFIGURE_OPTIONS "")