diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 53274bf..553466a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,128 +1,139 @@ stages: - build - test variables: LCG_VERSION: "LCG_101" GCC_VERSION: "11" CLANG_VERSION: "12" BUILD_TYPE: "Release" BUILD_ROOFIT_TASK: "OFF" BUILD_DOCS: "OFF" .production_image: variables: LCG_OS: x86_64-centos7 image: gitlab-registry.cern.ch/ci-tools/ci-worker:cc7 tags: - cvmfs .lcg_setup: before_script: - set +e && source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh $LCG_VERSION $LCG_OS-$LCG_COMPILER; set -e .build_template: stage: build extends: - .lcg_setup script: - mkdir install - mkdir build && cd build - cmake -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/install -DLAURA_BUILD_EXAMPLES:BOOL=ON -DLAURA_BUILD_DOCS:BOOL=$BUILD_DOCS -DLAURA_BUILD_ROOFIT_TASK:BOOL=$BUILD_ROOFIT_TASK $CI_PROJECT_DIR - cmake --build . - cmake --build . --target install +.dev_rules: + rules: + - if: '$CI_PIPELINE_SOURCE == "schedule"' + allow_failure: false + - if: '$CI_PIPELINE_SOURCE == "push"' + allow_failure: true + build_clang_opt: variables: LCG_COMPILER: "clang$CLANG_VERSION-opt" extends: - .production_image - .build_template build_gcc_opt: variables: LCG_COMPILER: "gcc$GCC_VERSION-opt" extends: - .production_image - .build_template build_gcc_dbg: variables: LCG_COMPILER: "gcc$GCC_VERSION-dbg" BUILD_TYPE: "Debug" BUILD_ROOFIT_TASK: "ON" BUILD_DOCS: "ON" extends: - .production_image - .build_template artifacts: paths: - install expire_in: 1 day build_dev3LCG_gcc_opt: variables: LCG_VERSION: "dev3/latest" LCG_COMPILER: "gcc$GCC_VERSION-opt" BUILD_ROOFIT_TASK: "ON" extends: - .production_image - .build_template - allow_failure: true + rules: + - !reference [.dev_rules, rules] build_dev4LCG_gcc_opt: variables: LCG_VERSION: "dev4/latest" LCG_COMPILER: "gcc$GCC_VERSION-opt" BUILD_ROOFIT_TASK: "ON" extends: - .production_image - .build_template - allow_failure: true + rules: + - !reference [.dev_rules, rules] build_dev3LCG_clang_opt: variables: LCG_VERSION: "dev3/latest" LCG_COMPILER: "clang$CLANG_VERSION-opt" BUILD_ROOFIT_TASK: "ON" extends: - .production_image - .build_template - allow_failure: true + rules: + - !reference [.dev_rules, rules] build_dev4LCG_clang_opt: variables: LCG_VERSION: "dev4/latest" LCG_COMPILER: "clang$CLANG_VERSION-opt" BUILD_ROOFIT_TASK: "ON" extends: - .production_image - .build_template - allow_failure: true + rules: + - !reference [.dev_rules, rules] .test_template: stage: test variables: LCG_COMPILER: "gcc$GCC_VERSION-dbg" extends: - .production_image - .lcg_setup dependencies: - build_gcc_dbg artifacts: paths: - runtests expire_in: 1 day script: - export PATH=$CI_PROJECT_DIR/install/bin:$PATH - mkdir runtests && cd runtests - $TEST_EXE gen $TEST_GEN_OPTIONS - $TEST_EXE fit $TEST_FIT_OPTIONS test_3pi: variables: TEST_EXE: "GenFit3pi" TEST_GEN_OPTIONS: "1 0" TEST_FIT_OPTIONS: "0 1 0" extends: - .test_template