diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..fea79ad9f4f522ab4d47778150b1a0c4f19a2e25 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,39 @@ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + +# List of the CI build stages. +stages: + - dependencies + - build + +# Common setup for the CI Docker images. +before_script: + - yum -y install glibc-devel which git + - set +e && source CI/setup_lcg.sh; set -e + +# Build the upstream project(s) needed by this one. +.dependencies_template: &dependencies_template + stage: dependencies + tags: + - docker + - cvmfs + script: + - git clone https://gitlab.cern.ch/GeoModelDev/GeoModelCore.git + - git clone https://gitlab.cern.ch/GeoModelDev/GeoModelIO.git + - mkdir GeoModelCore-build GeoModelIO-build + - cd GeoModelCore-build/ + - cmake -GNinja -DCMAKE_INSTALL_PREFIX=../dependencies-install ../GeoModelCore/ + - cmake --build . --target install + - cd ../GeoModelIO-build/ + - cmake -GNinja -DCMAKE_INSTALL_PREFIX=../dependencies-install -DCMAKE_PREFIX_PATH=../dependencies-install ../GeoModelIO/ + - cmake --build . --target install + artifacts: + paths: + - dependencies-install/ + +slc6_dependencies: + <<: *dependencies_template + image: cern/slc6-base:latest + +centos7_dependencies: + <<: *dependencies_template + image: cern/cc7-base:latest diff --git a/CI/setup_lcg.sh b/CI/setup_lcg.sh new file mode 100644 index 0000000000000000000000000000000000000000..161250a23a375ff0b1b07514876a35f79dfd3d67 --- /dev/null +++ b/CI/setup_lcg.sh @@ -0,0 +1,25 @@ +#!/bin/sh -ex +# +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +# +# Setup an LCG view via cvmfs. +# + +# determine os release +if [ "$(cat /etc/redhat-release | grep 'Scientific Linux CERN SLC release 6')" ]; then + os=slc6 + compiler=gcc62-opt +elif [ "$(cat /etc/centos-release | grep 'CentOS Linux release 7')" ]; then + os=centos7 + compiler=gcc7-opt +else + echo "Unknown OS" 1>&2 + exit 1 +fi + +release=LCG_95 +platform=x86_64-${os}-${compiler} +lcg=/cvmfs/sft.cern.ch/lcg/views/${release}/${platform} + +source ${lcg}/setup.sh +