Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F8724284
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Subscribers
None
View Options
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9659cc7..87b7185 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,294 +1,296 @@
# ---------------------------------
# - General Setup -
# ---------------------------------
stages:
- build
- test
- FOG:build
- FOG:test
- # - clean_code
- # - publish
+ - clean_code
+ - publish
variables:
# build directories
HEJ_BUILD_DIR: tmp_HEJ/HEJ_build
HEJ_INSTALL_DIR: tmp_HEJ/HEJ_installed
FOG_BUILD_DIR: tmp_HEJ/FOG_build
FOG_INSTALL_DIR: ${HEJ_INSTALL_DIR}
# docker images
DOCKER_BASIC: hejdock/hepenv
DOCKER_HEPMC3: hejdock/hepmc3env
DOCKER_QCDLOOP: hejdock/qcdloopenv
DOCKER_RIVET: hejdock/rivetenv
# ----------- Macros -----------
after_script:
- date
.tags_template:
tags: &tags_def
- docker
# save complete history of failed tests
.save_failure:
artifacts: &artifacts_failed
when: on_failure
untracked: true
- expire_in: 1h # TODO change to 3d
+ expire_in: 3d
# ---------------------------------
# - Script Templates -
# ---------------------------------
# ----------- Build -----------
.HEJ_build:
tags: *tags_def
stage: build
before_script:
- date
- source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
# prepare build
- t_HEJ_DIR=${PWD}
- t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
- t_HEJ_BUILD_DIR=${PWD}/${HEJ_BUILD_DIR}
- mkdir -p ${t_HEJ_BUILD_DIR}
- cd ${t_HEJ_BUILD_DIR}
- cmake ${t_HEJ_DIR} -DCMAKE_BUILD_TYPE=DEBUG
-DCMAKE_INSTALL_PREFIX=${t_HEJ_INSTALL_DIR}
script:
- make -j $(nproc --ignore=1)
- make install
artifacts:
# save build and installed folder
name: build
- expire_in: 1h # TODO change to 1d
+ expire_in: 1d
paths:
- ${HEJ_INSTALL_DIR}
- ${HEJ_BUILD_DIR}
# ----------- Test -----------
.HEJ_test:
tags: *tags_def
stage: test
before_script:
- date
- source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
# load HEJ
- t_HEJ_DIR=${PWD}
- t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
- export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
- export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH}
- cd ${HEJ_BUILD_DIR}
- cmake ${t_HEJ_DIR} # rerun cmake to create all test configure files
- - cat info.log # TODO remove
script:
- ctest --output-on-failure
artifacts: *artifacts_failed
## ----------- FOG build -----------
.FOG_build:
tags: *tags_def
stage: FOG:build
before_script:
- date
- source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
# load HEJ
- t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
- export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
- export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH}
# prepare build
- t_FOG_DIR=${PWD}/FixedOrderGen
- t_FOG_INSTALL_DIR=${PWD}/${FOG_INSTALL_DIR}
- t_FOG_BUILD_DIR=${PWD}/${FOG_BUILD_DIR}
- mkdir -p ${t_FOG_BUILD_DIR}
- cd ${t_FOG_BUILD_DIR}
- cmake ${t_FOG_DIR} -DCMAKE_BUILD_TYPE=DEBUG
-DCMAKE_INSTALL_PREFIX=${t_FOG_INSTALL_DIR}
script:
- make -j $(nproc --ignore=1)
- make install
artifacts:
# save build and installed folder
name: FOG_build
- expire_in: 1h # TODO change to 1d
+ expire_in: 1d
paths:
- ${HEJ_INSTALL_DIR}
- ${FOG_INSTALL_DIR}
- ${FOG_BUILD_DIR}
## ----------- FOG test -----------
.FOG_test:
tags: *tags_def
stage: FOG:test
before_script:
- date
- source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
# load HEJ
- t_FOG_DIR=${PWD}/FixedOrderGen
- t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
- t_FOG_INSTALL_DIR=${PWD}/${FOG_INSTALL_DIR}
- export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
- export PATH=${t_HEJ_INSTALL_DIR}/bin:${t_FOG_INSTALL_DIR}/bin:${PATH}
- t_FOG_BUILD_DIR=${PWD}/${FOG_BUILD_DIR}
- cd ${t_FOG_BUILD_DIR}
- cmake ${t_FOG_DIR} # rerun cmake to create all test configure files
script:
- make test
artifacts: *artifacts_failed
-
# ---------------------------------
# - Build & Test -
# ---------------------------------
# ----------- basic -----------
build:basic:
image: ${DOCKER_BASIC}
extends: .HEJ_build
- after_script:
- - echo "basic" > ${HEJ_BUILD_DIR}/info.log # TODO remove
test:basic:
image: ${DOCKER_BASIC}
extends: .HEJ_test
dependencies:
- build:basic
FOG:build:basic:
image: ${DOCKER_BASIC}
extends: .FOG_build
- after_script:
- - echo "FOG basic" > ${HEJ_BUILD_DIR}/info.log # TODO remove
dependencies:
- build:basic
FOG:test:basic:
image: ${DOCKER_BASIC}
extends: .FOG_test
dependencies:
- FOG:build:basic
# ----------- HepMC 3 -----------
build:hepmc3:
image: ${DOCKER_HEPMC3}
extends: .HEJ_build
- after_script:
- - echo "HepMC3" > ${HEJ_BUILD_DIR}/info.log # TODO remove
test:hepmc3:
image: ${DOCKER_HEPMC3}
extends: .HEJ_test
dependencies:
- build:hepmc3
# ----------- QCDloop -----------
build:qcdloop:
image: ${DOCKER_QCDLOOP}
extends: .HEJ_build
- after_script:
- - echo "QCDloop" > ${HEJ_BUILD_DIR}/info.log # TODO remove
test:qcdloop:
image: ${DOCKER_QCDLOOP}
extends: .HEJ_test
dependencies:
- build:qcdloop
# ----------- rivet -----------
build:rivet:
image: ${DOCKER_RIVET}
extends: .HEJ_build
- after_script:
- - echo "rivet" > ${HEJ_BUILD_DIR}/info.log # TODO remove
test:rivet:
image: ${DOCKER_RIVET}
extends: .HEJ_test
dependencies:
- build:rivet
script:
- ctest --output-on-failure
- bash -c '[ -f tst.yoda ]' && echo "found rivet output"
- rivet-cmphistos tst.yoda
- bash -c '[ -f MC_XS_XS.dat ]' && echo "yoda not empty"
-## OLD:
-
-# No_tabs:
-# stage: clean_code
-# tags: *tags_def
-# image: hejdock/git
-# script:
-# - date
-# - check_tabs
-
-# No_warnings:
-# stage: clean_code
-# tags: *tags_def
-# image: hejdock/hepenv
-# before_script:
-# - date
-# - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
-# - export t_HEJ_INSTALL_DIR=${PWD}/$HEJ_INSTALL_DIR
-# - export t_HEJ_BUILD_DIR=${PWD}/$HEJ_BUILD_DIR
-# - export t_HEJ_DIR=${PWD}
-# - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
-# - export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH}
-# - export t_FOG_BUILD_DIR=${PWD}/$FOG_BUILD_DIR
-# - export t_FOG_DIR=${t_HEJ_DIR}/FixedOrderGen
-# - mkdir -p ${t_HEJ_BUILD_DIR}
-# - mkdir -p ${t_FOG_BUILD_DIR}
-# script:
-# - sed -i 's/include_directories(${LHAPDF/include_directories(SYSTEM ${LHAPDF/g' CMakeLists.txt
-# - sed -i 's/include_directories(${fastjet/include_directories(SYSTEM ${fastjet/g' CMakeLists.txt
-# - sed -i 's/include_directories(${Boost/include_directories(SYSTEM ${Boost/g' CMakeLists.txt
-# - cd ${t_HEJ_BUILD_DIR}
-# - cmake ${t_HEJ_DIR} -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_INSTALL_PREFIX=${t_HEJ_INSTALL_DIR}
-# - make -j 8
-# - make install
-# - cd ${t_FOG_DIR}
-# - sed -i 's/include_directories(${LHAPDF/include_directories(SYSTEM ${LHAPDF/g' CMakeLists.txt
-# - sed -i 's/include_directories(${fastjet/include_directories(SYSTEM ${fastjet/g' CMakeLists.txt
-# - sed -i 's/include_directories(${Boost/include_directories(SYSTEM ${Boost/g' CMakeLists.txt
-# - cd ${t_FOG_BUILD_DIR}
-# - cmake ${t_FOG_DIR} -DCMAKE_CXX_FLAGS="-Werror"
-# - make -j 8
-
-# .Publish:
-# stage: publish
-# tags: *tags_def
-# image: hejdock/git
-# before_script:
-# - mkdir -p .ssh/ && echo "${SSH_KEY}" > .ssh/id_rsa && chmod 0600 .ssh/id_rsa
-# - rm -rf ~/.ssh/id_rsa; mkdir -p ~/.ssh/
-# - ln -s $PWD/.ssh/id_rsa ~/.ssh/id_rsa && chmod 0600 ~/.ssh/id_rsa
-# - ssh -T ${PUBLIC_GIT_PREFIX} -o "StrictHostKeyChecking no" || echo "added ssh"
-# script:
-# - git remote add public ${PUBLIC_GIT_PREFIX}${PUBLIC_GIT_POSTFIX}
-# - git checkout $CI_COMMIT_REF_NAME
-# - git branch
-# - git pull
-# - git push public
-# - git push public --tags
-# after_script:
-# - rm -f /root/.ssh/id_rsa && rm -fr .ssh
-# - git remote rm public
-
-# Publish_version:
-# extends: .Publish
-# only:
-# - /^v\d+\.\d+$/
-# except:
-# - tags
-# when: on_success
+# ---------------------------------
+# - Clean Code -
+# ---------------------------------
+
+No_tabs:
+ stage: clean_code
+ tags: *tags_def
+ image: hejdock/git
+ dependencies: []
+ script:
+ - date
+ - check_tabs
+
+# ----------- No gcc warnings -----------
+
+.Warning_build:
+ extends: .HEJ_build
+ stage: clean_code
+ dependencies: []
+ script:
+ - cd ${t_HEJ_DIR}
+ # suppress warnings from side packages
+ - sed -i 's/include_directories(${LHAPDF/include_directories(SYSTEM ${LHAPDF/g' CMakeLists.txt
+ - sed -i 's/include_directories(${fastjet/include_directories(SYSTEM ${fastjet/g' CMakeLists.txt
+ - sed -i 's/include_directories(${Boost/include_directories(SYSTEM ${Boost/g' CMakeLists.txt
+ - cd ${t_HEJ_BUILD_DIR}
+ - cmake ${t_HEJ_DIR} -DCMAKE_CXX_FLAGS="-Werror"
+ - make -j $(nproc --ignore=1)
+ artifacts: # don't save anything
+
+.Warning_FOG:
+ extends: .FOG_build
+ stage: clean_code
+ script:
+ - cd ${t_FOG_DIR}
+ # suppress warnings from side packages
+ - sed -i 's/include_directories(${LHAPDF/include_directories(SYSTEM ${LHAPDF/g' CMakeLists.txt
+ - sed -i 's/include_directories(${fastjet/include_directories(SYSTEM ${fastjet/g' CMakeLists.txt
+ - sed -i 's/include_directories(${Boost/include_directories(SYSTEM ${Boost/g' CMakeLists.txt
+ - cd ${t_FOG_BUILD_DIR}
+ - cmake ${t_FOG_DIR} -DCMAKE_CXX_FLAGS="-Werror"
+ - make -j $(nproc --ignore=1)
+ artifacts: # don't save anything
+
+No_Warning:basic:
+ image: ${DOCKER_BASIC}
+ extends: .Warning_build
+
+No_Warning:basic:FOG:
+ image: ${DOCKER_BASIC}
+ extends: .Warning_FOG
+ dependencies:
+ - build:basic
+
+# ---------------------------------
+# - Publish -
+# ---------------------------------
+
+Publish_version:
+ stage: publish
+ tags: *tags_def
+ image: hejdock/git
+ dependencies: []
+ only:
+ - /^v\d+\.\d+$/
+ except:
+ - tags
+ when: on_success
+ before_script:
+ - mkdir -p .ssh/ && echo "${SSH_KEY}" > .ssh/id_rsa && chmod 0600 .ssh/id_rsa
+ - rm -rf ~/.ssh/id_rsa; mkdir -p ~/.ssh/
+ - ln -s $PWD/.ssh/id_rsa ~/.ssh/id_rsa && chmod 0600 ~/.ssh/id_rsa
+ - ssh -T ${PUBLIC_GIT_PREFIX} -o "StrictHostKeyChecking no" || echo "added ssh"
+ script:
+ - git remote add public ${PUBLIC_GIT_PREFIX}${PUBLIC_GIT_POSTFIX}
+ - git checkout $CI_COMMIT_REF_NAME
+ - git branch
+ - git pull
+ - git push public
+ - git push public --tags
+ after_script:
+ - rm -f /root/.ssh/id_rsa && rm -fr .ssh
+ - git remote rm public
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Jan 20, 10:59 PM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4242759
Default Alt Text
(10 KB)
Attached To
rHEJ HEJ
Event Timeline
Log In to Comment