Page MenuHomeHEPForge

No OneTemporary

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

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)

Event Timeline