From bbcac5ada649e10c6e7735a7263a2afc58b5de2a Mon Sep 17 00:00:00 2001 From: Andrii Verbytskyi Date: Fri, 27 Dec 2024 01:49:55 +0100 Subject: [PATCH] New LCG CI --- .gitlab-ci.yml | 86 ++++++++++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 15983766..c1c84347 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,52 +8,62 @@ stages: - build - LCG ######################################################################## -.LCGcmake: &LCGcmake - - mkdir BUILD - - cd BUILD - - set -x - - cmake .. -DCMAKE_CXX_FLAGS="-Wpedantic -Wall -Wextra" ${STANDARDFLAGS} ${LARG} ${EXTRACMAKEFLAGS} - - set +x - - make -j $(nproc) - - make -j $(nproc) install - - ctest -j 5 --output-on-failure -LCG_99_x86_64-centos7-gcc8-opt: +LCG_x86_64-alma9: only: variables: - $CI_SERVER_HOST=="gitlab.cern.ch" - image: gitlab-registry.cern.ch/sft/docker:lcg-cc7 + image: gitlab-registry.cern.ch/sft/docker/alma9-core:latest tags: - k8s-cvmfs stage: LCG - before_script: - - export LCGPLATFORM=x86_64-centos7-gcc8-opt - - export LCG_LOCATION=/cvmfs/sft.cern.ch/lcg/releases/LCG_99 - - source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8.2.0/${LCGPLATFORM}/setup.sh - - source ${LCG_LOCATION}/ROOT/v6.22.06/${LCGPLATFORM}/ROOT-env.sh - - export PATH=/cvmfs/sft.cern.ch/lcg/contrib/CMake/latest/Linux-x86_64/bin/:${PATH} - - export ROOTSYS=${LCG_LOCATION}/ROOT/v6.22.06/${LCGPLATFORM}/ - - source ${LCG_LOCATION}/valgrind/3.16.1/${LCGPLATFORM}/valgrind-env.sh - - source ${LCG_LOCATION}/graphviz/2.40.1/${LCGPLATFORM}/graphviz-env.sh - - source ${LCG_LOCATION}/zlib/1.2.11/${LCGPLATFORM}/zlib-env.sh - - source ${LCG_LOCATION}/Python/3.8.6/${LCGPLATFORM}/Python-env.sh - - source ${LCG_LOCATION}/HepMC/2.06.11/${LCGPLATFORM}/HepMC-env.sh - - source ${LCG_LOCATION}/protobuf/2.5.0/${LCGPLATFORM}/protobuf-env.sh -#LCG 99 calls its variable Protobuf__HOME instead of Protobuf_HOME - - export Protobuf_ROOT=$(pkg-config protobuf --variable=prefix) script: - - export - - LARG=" " - - LARG="$LARG "-DPYTHIA8_ROOT_DIR=${LCG_LOCATION}/MCGenerators/pythia8/244/${LCGPLATFORM} - - LARG="$LARG "-DHEPMC2_ROOT_DIR=${LCG_LOCATION}/HepMC/2.06.11/${LCGPLATFORM}/ - - LARG="$LARG "-DGRAPHVIZ_ROOT=${LCG_LOCATION}/graphviz/2.40.1/${LCGPLATFORM}/ - - LARG="$LARG "-DProtobuf_INCLUDE_DIR=${Protobuf_ROOT}/include - - LARG="$LARG "-DProtobuf_LIBRARY=${Protobuf_ROOT}/lib/libprotobuf.so - - LARG="$LARG "-DHEPMC3_USE_INTERFACE_FROM_PYTHIA8:BOOL=OFF - - LARG="$LARG "-DHEPMC3_PYTHON_VERSIONS=3 - - LARG="$LARG "-DCMAKE_INSTALL_PREFIX=$(pwd)/install - - LARG="$LARG "-DHEPMC3_Python_SITEARCH38=$(pwd)/install/lib/python3.8/site-packages - - *LCGcmake + - | + export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase + uname -m + export LCGRELEASE=LCG_106a_ATLAS_8 + UNAME=$(uname -m) + export GCCV=13 + set -x + export LCGPLATFORM=$UNAME"-el9-gcc"$GCCV"-opt" + export LCGLOCATION=/cvmfs/sft.cern.ch/lcg/releases/$LCGRELEASE + export HM3_ROOT_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep 'ROOT;' | cut -f 3 -d';' | tr -d ' ') + export HM3_VALGRIND_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep 'valgrind;' | cut -f 3 -d';' | tr -d ' ') + export HM3_GRAPHVIZ_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep '^graphviz;' | cut -f 3 -d';' | tr -d ' ') + export HM3_PYTHON_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep 'Python;' | cut -f 3 -d';' | tr -d ' ') + export PYTHON3VERSION=$(echo $HM3_PYTHON_VERSION | cut -f 1,2 -d. | tr -d .) + export PYTHON3DOTVERSION=$(echo $HM3_PYTHON_VERSION | cut -f 1,2 -d. ) + export HM3_HEPMC_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep 'HepMC;' | cut -f 3 -d';' | tr -d ' ') + export HM3_PROTOBUF_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep 'protobuf;' | cut -f 3 -d';' | tr -d ' ') + export HM3_PROTOBUF2_VERSION=$(cat $LCGLOCATION/LCG_externals_$LCGPLATFORM'.txt' | grep 'protobuf2;' | cut -f 3 -d';' | tr -d ' ') + export HM3_PYTHIA8_VERSION=$(cat $LCGLOCATION/LCG_generators_$LCGPLATFORM'.txt' | grep 'pythia8;' | cut -f 3 -d';' | tr -d ' ') + source /cvmfs/sft.cern.ch/lcg/contrib/gcc/${GCCV}/${LCGPLATFORM}/setup.sh + export PATH=/cvmfs/sft.cern.ch/lcg/contrib/CMake/latest/Linux-x86_64/bin/:${PATH} + source ${LCGLOCATION}/ROOT/${HM3_ROOT_VERSION}/${LCGPLATFORM}/ROOT-env.sh + export ROOTSYS=${LCGLOCATION}/ROOT/${HM3_ROOT_VERSION}/${LCGPLATFORM}/ + source ${LCGLOCATION}/valgrind/${HM3_VALGRIND_VERSION}/${LCGPLATFORM}/valgrind-env.sh + source ${LCGLOCATION}/graphviz/${HM3_GRAPHVIZ_VERSION}/${LCGPLATFORM}/graphviz-env.sh + source ${LCGLOCATION}/Python/${HM3_PYTHON_VERSION}/${LCGPLATFORM}/Python-env.sh + source ${LCGLOCATION}/HepMC/${HM3_HEPMC_VERSION}/${LCGPLATFORM}/HepMC-env.sh + source ${LCGLOCATION}/protobuf2/${HM3_PROTOBUF2_VERSION}/${LCGPLATFORM}/protobuf2-env.sh + export Protobuf_ROOT=$(pkg-config protobuf --variable=prefix) + export LARG=" " + export LARG="$LARG "-DPYTHIA8_ROOT_DIR=${LCGLOCATION}/MCGenerators/pythia8/${HM3_PYTHIA8_VERSION}/${LCGPLATFORM} + export LARG="$LARG "-DHEPMC2_ROOT_DIR=${LCGLOCATION}/HepMC/${HM3_HEPMC_VERSION}/${LCGPLATFORM}/ + export LARG="$LARG "-DGRAPHVIZ_ROOT=${LCGLOCATION}/graphviz/${HM3_GRAPHVIZ_VERSION}/${LCGPLATFORM}/ + export LARG="$LARG "-DProtobuf_INCLUDE_DIR=${Protobuf_ROOT}/include + export LARG="$LARG "-DProtobuf_LIBRARY=${Protobuf_ROOT}/lib/libprotobuf.so + export LARG="$LARG "-DHEPMC3_USE_INTERFACE_FROM_PYTHIA8:BOOL=OFF + export LARG="$LARG "-DCMAKE_INSTALL_PREFIX=$(pwd)/install + export LARG="$LARG "-DHEPMC3_Python_SITEARCH${PYTHON3VERSION}=$(pwd)/install/lib/python${PYTHON3DOTVERSION}/site-packages + mkdir BUILD + cd BUILD + set -x + cmake .. -DCMAKE_CXX_FLAGS="-Wpedantic -Wall -Wextra" ${STANDARDFLAGS} ${LARG} ${EXTRACMAKEFLAGS} + set +x + make -j $(nproc) + make -j $(nproc) install + ctest -j 5 --output-on-failure .check_commit: &check_commit stage: check_if_dockerfile_updated