Page MenuHomeHEPForge

No OneTemporary

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cbda732..9659cc7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,281 +1,294 @@
# ---------------------------------
# - General Setup -
# ---------------------------------
stages:
- build
- test
- FOG:build
- FOG:test
# - 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
# ---------------------------------
# - 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
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
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
+# ----------- 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
-# rivet
+# ----------- 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:
-# QCDloop:
-# stage: different_compile
-# extends: .HEJ_build
-# image: hejdock/qcdloopenv
-# variables:
-# HEJ_BUILD_DIR: tmp_HEJ/build_HEJ_qcd
-# script:
-# - make test
-
-# HepMC3:
-# stage: different_compile
-# extends: .HEJ_build
-# image: hejdock/hepmc3env
-# variables:
-# HEJ_BUILD_DIR: tmp_HEJ/build_HEJ_HepMC3
-# script:
-# - make test
-
# 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

File Metadata

Mime Type
text/x-diff
Expires
Mon, Jan 20, 10:59 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4241347
Default Alt Text
(8 KB)

Event Timeline