Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F10881786
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
View Options
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4e32c19..d3ea096 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,138 +1,187 @@
stages:
- checks
- build
- test
variables:
- LCG_VERSION: "LCG_98python3"
- GCC_VERSION: "10"
- CLANG_VERSION: "10"
+ LCG_VERSION: "LCG_103"
+ GCC_VERSION: "12"
+ CLANG_VERSION: "12"
BUILD_TYPE: "Release"
BUILD_TESTS: "OFF"
BUILD_DOXYGEN: "OFF"
USE_HEPMC3: "ON"
+ USE_PYTHIA: "ON"
+ USE_PHOTOS: "ON"
+ USE_TAUOLA: "ON"
+
+.future_os_image:
+ variables:
+ LCG_OS: x86_64-el9
+ GCC_VERSION: "13"
+ CLANG_VERSION: "16"
+ image: gitlab-registry.cern.ch/lhcb-docker/os-base/alma9-devel:latest
+ tags:
+ - k8s-cvmfs
.production_image:
variables:
LCG_OS: x86_64-centos7
- image: gitlab-registry.cern.ch/ci-tools/ci-worker:cc7
+ image: gitlab-registry.cern.ch/lhcb-docker/os-base/centos7-devel:latest
tags:
- - cvmfs
+ - k8s-cvmfs
.lcg_setup:
before_script:
- set +e && source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh $LCG_VERSION $LCG_OS-$LCG_COMPILER; set -e
+.future_rules:
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "schedule"'
+ allow_failure: false
+ - if: '$CI_PIPELINE_SOURCE == "push"'
+ allow_failure: true
+
.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 -DEVTGEN_HEPMC3:BOOL=$USE_HEPMC3 -DEVTGEN_PYTHIA:BOOL=ON -DEVTGEN_PHOTOS:BOOL=ON -DEVTGEN_TAUOLA:BOOL=ON -DEVTGEN_BUILD_TESTS:BOOL=$BUILD_TESTS -DEVTGEN_BUILD_VALIDATIONS:BOOL=$BUILD_TESTS -DEVTGEN_BUILD_DOXYGEN:BOOL=$BUILD_DOXYGEN $CI_PROJECT_DIR
+ - cmake -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/install -DEVTGEN_HEPMC3:BOOL=$USE_HEPMC3 -DEVTGEN_PYTHIA:BOOL=$USE_PYTHIA -DEVTGEN_PHOTOS:BOOL=$USE_PHOTOS -DEVTGEN_TAUOLA:BOOL=$USE_TAUOLA -DEVTGEN_BUILD_TESTS:BOOL=$BUILD_TESTS -DEVTGEN_BUILD_VALIDATIONS:BOOL=$BUILD_TESTS -DEVTGEN_BUILD_DOXYGEN:BOOL=$BUILD_DOXYGEN $CI_PROJECT_DIR
- cmake --build .
- cmake --build . --target install
.check_template:
stage: checks
variables:
LCG_COMPILER: "clang$CLANG_VERSION-opt"
extends:
- .production_image
- .lcg_setup
check_formatting:
extends:
- .check_template
script:
- source applyClangFormat.sh
- git status --porcelain | grep '^ M' || exit 0
- echo "The above files do not comply with formatting, please apply clang-format"
- exit 1
check_test_json_files:
extends:
- .check_template
script:
- cd test
- python checkJsonFiles.py
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_hepmc2_gcc_opt:
variables:
+ LCG_VERSION: "LCG_103_LHCB_7"
LCG_COMPILER: "gcc$GCC_VERSION-opt"
USE_HEPMC3: "OFF"
extends:
- .production_image
- .build_template
build_gcc_dbg:
variables:
LCG_COMPILER: "gcc$GCC_VERSION-dbg"
BUILD_TYPE: "Debug"
BUILD_TESTS: "ON"
BUILD_DOXYGEN: "ON"
extends:
- .production_image
- .build_template
after_script:
- cd install/share/EvtGen/test
- ./makeModelsJson $CI_PROJECT_DIR > Models.json
- ./makeSrcDepsJson $CI_PROJECT_DIR $CI_PROJECT_DIR/build > SrcDeps.json
artifacts:
paths:
- install
expire_in: 1 day
when: always
+build_future_clang_opt:
+ variables:
+ LCG_VERSION: "LCG_104"
+ LCG_COMPILER: "clang$CLANG_VERSION-opt"
+ extends:
+ - .future_os_image
+ - .build_template
+ rules:
+ - !reference [.future_rules, rules]
+
+build_future_gcc_opt:
+ variables:
+ LCG_VERSION: "LCG_104"
+ LCG_COMPILER: "gcc$GCC_VERSION-opt"
+ extends:
+ - .future_os_image
+ - .build_template
+ rules:
+ - !reference [.future_rules, rules]
+
.test_template:
stage: test
variables:
LCG_COMPILER: "gcc$GCC_VERSION-dbg"
extends:
- .production_image
- .lcg_setup
dependencies:
- build_gcc_dbg
artifacts:
paths:
- install/share/EvtGen/test
expire_in: 1 day
when: always
# TODO - need to copy in the appropriate files to act as references for this run
# and save the resulting files for possible future use as references
# - where to store the reference files? CI cache? EOS?
# - need to add a test case for merge requests
-test_on_push:
+test_on_push_to_master:
extends:
- .test_template
rules:
- - if: '$CI_PIPELINE_SOURCE == "push"'
+ - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master"'
script:
- cd install/share/EvtGen/test
- git diff --numstat $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA | awk '{print $NF}' | xargs ./runTests.py Models.json SrcDeps.json
+test_on_push_to_branch:
+ extends:
+ - .test_template
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != "master"'
+ script:
+ - cd install/share/EvtGen/test
+ - git diff --numstat origin/master...$CI_COMMIT_SHA | awk '{print $NF}' | xargs ./runTests.py Models.json SrcDeps.json
+
test_on_schedule:
extends:
- .test_template
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_BRANCH == "master"'
script:
- cd install/share/EvtGen/test
- git diff --numstat `git tag --list 'R*' | tail -n 1` $CI_COMMIT_SHA | awk '{print $NF}' | xargs ./runTests.py Models.json SrcDeps.json
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, May 3, 6:50 AM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4956479
Default Alt Text
(5 KB)
Attached To
rEVTGEN evtgen
Event Timeline
Log In to Comment