diff --git a/.dd4hep-ci.d/compile_and_test.sh b/.dd4hep-ci.d/compile_and_test.sh deleted file mode 100755 index aecfab4007da9548441e975b07ed070a2a01a930..0000000000000000000000000000000000000000 --- a/.dd4hep-ci.d/compile_and_test.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -source /DD4hep/.dd4hep-ci.d/init_x86_64.sh - -cd /DD4hep -mkdir build -cd build -unset CPATH # causes implicit includes to be added in cmake, preventing setting some system libraries to -isystem -cmake -GNinja -DDD4HEP_USE_GEANT4=ON \ - -DBoost_NO_BOOST_CMAKE=ON \ - -DDD4HEP_USE_LCIO=ON \ - -DDD4HEP_USE_TBB=${DD4HEP_USE_TBB:-OFF} \ - -DBUILD_TESTING=ON \ - -DDD4HEP_DEBUG_CMAKE=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always -Werror" \ - -DBUILD_SHARED_LIBS=${SHARED} \ - -DCMAKE_CXX_STANDARD=${STANDARD} .. && \ - ninja - -BUILD_RESULT=$? - -if [[ "${SHARED}" == "OFF" ]]; then - echo "Not building SHARED libraries, ending tests here" - exit ${BUILD_RESULT} -fi - -test ${BUILD_RESULT} -eq 0 && \ -ninja install && \ -. ../bin/thisdd4hep.sh && \ -ctest --output-on-failure -j4 && \ -cd ../examples/ && \ -mkdir build && \ -cd build && \ -cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=${STANDARD} .. && \ -ninja && \ -ninja install && \ -ctest --output-on-failure -j2 diff --git a/.dd4hep-ci.d/coverity_scan.sh b/.dd4hep-ci.d/coverity_scan.sh deleted file mode 100755 index 3f1674f35a60d1c5964a8f091313b3fddbdce963..0000000000000000000000000000000000000000 --- a/.dd4hep-ci.d/coverity_scan.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -export COMPILER_TYPE="gcc" - -source /Package/.dd4hep-ci.d/init_x86_64.sh - -cd /Package -mkdir build -cd build -cmake -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always" -DCMAKE_CXX_STANDARD=17 .. -export PATH=/cov-analysis-linux64/bin:$PATH -cov-build --dir cov-int make -j4 -tar czvf myproject.tgz cov-int diff --git a/.dd4hep-ci.d/init_mac.sh b/.dd4hep-ci.d/init_mac.sh deleted file mode 100644 index 12e1d5ece533ec5a1adafc5ff1715803459880df..0000000000000000000000000000000000000000 --- a/.dd4hep-ci.d/init_mac.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/bash - -if [ "$(uname)" == "Darwin" ]; then - if [ $(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}') == "10.14" ]; then - OS=mac1014 - COMPILER_TYPE=clang - COMPILER_VERSION=clang100 - else - echo "Bootstrap only works on macOS Mojave (10.14)" - exit 1 - fi -else - echo "This script is only meant for Mac" - exit 1 -fi - -# Determine is you have CVMFS installed -if [ ! -d "/cvmfs" ]; then - echo "No CVMFS detected, please install it." - exit 1 -fi - -if [ ! -d "/cvmfs/clicdp.cern.ch" ]; then - echo "No clicdp CVMFS repository detected, please add it." - exit 1 -fi - -# Choose build type -if [ -z ${BUILD_TYPE} ]; then - BUILD_TYPE=opt -fi - - -# General variables -CLICREPO=/cvmfs/clicdp.cern.ch -BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE} - -#-------------------------------------------------------------------------------- -# CMake -#-------------------------------------------------------------------------------- - -export CMAKE_HOME=${CLICREPO}/software/CMake/3.14.3/${BUILD_FLAVOUR} -export PATH=${CMAKE_HOME}/bin:$PATH - -#-------------------------------------------------------------------------------- -# Python -#-------------------------------------------------------------------------------- - -export PYTHONDIR=${CLICREPO}/software/Python/2.7.16/${BUILD_FLAVOUR} -export PATH=${PYTHONDIR}/bin:$PATH -export DYLD_LIBRARY_PATH="${PYTHONDIR}/lib:$DYLD_LIBRARY_PATH" - -#-------------------------------------------------------------------------------- -# ROOT -#-------------------------------------------------------------------------------- - -export ROOTSYS=${CLICREPO}/software/ROOT/6.18.00/${BUILD_FLAVOUR} -export ROOT_ROOT=$ROOTSYS -export PYTHONPATH="$ROOTSYS/lib:$PYTHONPATH" -export PATH="$ROOTSYS/bin:$PATH" -export DYLD_LIBRARY_PATH="$ROOTSYS/lib:$DYLD_LIBRARY_PATH" - -#-------------------------------------------------------------------------------- -# XercesC -#-------------------------------------------------------------------------------- - -export XercesC_ROOT=${CLICREPO}/software/Xerces-C/3.1.3/${BUILD_FLAVOUR} -export PATH="$XercesC_ROOT/bin:$PATH" -export DYLD_LIBRARY_PATH="$XercesC_ROOT/lib:$DYLD_LIBRARY_PATH" - - -#-------------------------------------------------------------------------------- -# Geant4 -#-------------------------------------------------------------------------------- - -export Geant4_ROOT=${CLICREPO}/software/Geant4/10.05.p01/${BUILD_FLAVOUR} -export G4LIB=$Geant4_ROOT/lib/Geant4-10.5.1/ -export G4ENV_INIT="${Geant4_ROOT}/bin/geant4.sh" -export G4SYSTEM="Linux-g++" - - -#-------------------------------------------------------------------------------- -# Boost -#-------------------------------------------------------------------------------- - -export BOOST_ROOT=${CLICREPO}/software/Boost/1.70.0/${BUILD_FLAVOUR} -export DYLD_LIBRARY_PATH="${BOOST_ROOT}/lib:$DYLD_LIBRARY_PATH" - -#-------------------------------------------------------------------------------- -# Ninja -#-------------------------------------------------------------------------------- - -export Ninja_HOME=${CLICREPO}/software/Ninja/1.9.0/${BUILD_FLAVOUR} -export PATH="$Ninja_HOME:$PATH" - -#-------------------------------------------------------------------------------- -# LCIO -#-------------------------------------------------------------------------------- - -export LCIO=${CLICREPO}/software/LCIO/2.12.1/${BUILD_FLAVOUR}/ -export CMAKE_PREFIX_PATH="$LCIO:$CMAKE_PREFIX_PATH" diff --git a/.dd4hep-ci.d/init_x86_64.sh b/.dd4hep-ci.d/init_x86_64.sh deleted file mode 100644 index dd95a268e1ff81452bea17669093d69057cad22b..0000000000000000000000000000000000000000 --- a/.dd4hep-ci.d/init_x86_64.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -#Determine which OS you are using -if [ "$(uname)" == "Linux" ]; then - if [ "$( cat /etc/*-release | grep Scientific )" ]; then - OS=slc6 - elif [ "$( cat /etc/*-release | grep CentOS )" ]; then - OS=centos7 - fi -else - echo "UNKNOWN OS" - exit 1 -fi - -#Determine is you have CVMFS installed -if [ ! -d "/cvmfs" ]; then - echo "No CVMFS detected, please install it." - exit 1 -fi - -if [ ! -d "/cvmfs/sft.cern.ch" ]; then - echo "No sft CVMFS repository detected, please add it." - exit 1 -fi - - -#Determine which compiler to use -if [ -z ${COMPILER_TYPE} ]; then - COMPILER_TYPE="gcc" -fi -if [ -z ${COMPILER_VERSION} ]; then - if [ ${COMPILER_TYPE} == "gcc" ]; then - COMPILER_VERSION="gcc9" - fi - if [[ ${COMPILER_TYPE} == "clang" ]]; then - COMPILER_VERSION="clang10" - fi -fi - - -#Choose build type -if [ -z ${BUILD_TYPE} ]; then - BUILD_TYPE=opt -fi - -# General variables -if [ -z ${LCG_RELEASE} ]; then - LCG_RELEASE="LCG_97" -fi - -if [[ "${LCG_RELEASE}" =~ "dev" ]]; then - LCGREPO=/cvmfs/sft-nightlies.cern.ch/lcg/views/${LCG_RELEASE}/latest - export DD4HEP_USE_TBB=ON -else - LCGREPO=/cvmfs/sft.cern.ch/lcg/views/${LCG_RELEASE} -fi - -BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE} -echo ${LCGREPO}/${BUILD_FLAVOUR}/setup.sh -source ${LCGREPO}/${BUILD_FLAVOUR}/setup.sh - -#-------------------------------------------------------------------------------- -# LCIO -#-------------------------------------------------------------------------------- -export LCIO=/cvmfs/clicdp.cern.ch/software/LCIO/2.12.1/x86_64-${OS}-${COMPILER_VERSION}-LCG_96 -export LCIO_ROOT=${LCIO} -export PYTHONPATH=${LCIO}/python:$PYTHONPATH -export PATH=${LCIO}/bin:$PATH -export LD_LIBRARY_PATH="$LCIO/lib:$LD_LIBRARY_PATH" diff --git a/.dd4hep-ci.d/DD4hep.pylint.py3k.rc b/.github/scripts/DD4hep.pylint.py3k.rc similarity index 100% rename from .dd4hep-ci.d/DD4hep.pylint.py3k.rc rename to .github/scripts/DD4hep.pylint.py3k.rc diff --git a/.dd4hep-ci.d/DD4hep.pylint.rc b/.github/scripts/DD4hep.pylint.rc similarity index 100% rename from .dd4hep-ci.d/DD4hep.pylint.rc rename to .github/scripts/DD4hep.pylint.rc diff --git a/.github/scripts/compile_and_test.sh b/.github/scripts/compile_and_test.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f850b330d4d05d824c5ccc049ac2ffb7b8ea610 --- /dev/null +++ b/.github/scripts/compile_and_test.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +source /cvmfs/sft.cern.ch/lcg/views/${VIEW}/setup.sh + +cd /Package +mkdir build +cd build +unset CPATH # causes implicit includes to be added in cmake, preventing setting some system libraries to -isystem +cmake -GNinja \ + -DDD4HEP_USE_GEANT4=ON \ + -DBoost_NO_BOOST_CMAKE=ON \ + -DDD4HEP_USE_LCIO=ON \ + -DDD4HEP_USE_TBB=${TBB} \ + -DBUILD_TESTING=ON \ + -DDD4HEP_DEBUG_CMAKE=ON \ + -DBUILD_SHARED_LIBS=${SHARED} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always" \ + -DCMAKE_CXX_STANDARD=${STANDARD} .. && \ + ninja + +BUILD_RESULT=$? + +if [[ "${SHARED}" == "OFF" ]]; then + echo "Not building SHARED libraries, ending tests here" + exit ${BUILD_RESULT} +fi + +test ${BUILD_RESULT} -eq 0 && \ +ninja install && \ +. ../bin/thisdd4hep.sh && \ +ctest --output-on-failure -j4 && \ +cd ../examples/ && \ +mkdir build && \ +cd build && \ +cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=${STANDARD} .. && \ +ninja && \ +ninja install && \ +ctest --output-on-failure -j2 + + diff --git a/.dd4hep-ci.d/runPythonChecks.sh b/.github/scripts/runPythonChecks.sh similarity index 54% rename from .dd4hep-ci.d/runPythonChecks.sh rename to .github/scripts/runPythonChecks.sh index 9a1a3d6c9da5d96df40e183fbd73722d3e25f714..850597d50b6dbe4001c87b73c96e37bd098ad041 100755 --- a/.dd4hep-ci.d/runPythonChecks.sh +++ b/.github/scripts/runPythonChecks.sh @@ -1,10 +1,10 @@ #!/bin/bash -source /DD4hep/.dd4hep-ci.d/init_x86_64.sh -cd /DD4hep +source /cvmfs/sft.cern.ch/lcg/views/${VIEW}/setup.sh +cd /Package echo "RUNNING PYLINT PY3K CHECK" && \ -find . -name "*.py" -and -not -name 'ddsix.py' -exec pylint --rcfile=.dd4hep-ci.d/DD4hep.pylint.py3k.rc --py3k --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" {} + && \ +find . -name "*.py" -and -not -name 'ddsix.py' -exec pylint --rcfile=.github/scripts/DD4hep.pylint.py3k.rc --py3k --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" {} + && \ echo "" && \ echo "RUNNING FLAKE8 CHECK" && \ find . -name "*.py" -and -not -name 'ddsix.py' -exec flake8 {} + diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000000000000000000000000000000000000..e1d7f59bf53bba81b60ed1b1f13a9bc17e66f58d --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,138 @@ +name: linux + +on: [push, pull_request] + +jobs: + centos7: + runs-on: ubuntu-18.04 + strategy: + matrix: + LCG: ["LCG_97apython3/x86_64-centos7-gcc8-opt", + "LCG_97/x86_64-centos7-gcc9-opt"] + env: + SHARED: ON + STANDARD: 17 + TBB: OFF + steps: + - uses: actions/checkout@v2 + - name: Install CVMFS + run: | + wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb + sudo dpkg -i cvmfs-release-latest_all.deb + sudo apt-get update + sudo apt-get install cvmfs cvmfs-config-default + wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local + sudo mkdir -p /etc/cvmfs + sudo mv default.local /etc/cvmfs/default.local + sudo cvmfs_config setup + ls /cvmfs/sft.cern.ch + ls /cvmfs/geant4.cern.ch + - name: Start container + run: | + ls + docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash + - name: Compile and test + run: | + docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh" + + + centos7-tbb: + runs-on: ubuntu-18.04 + strategy: + matrix: + LCG: ["LCG_98/x86_64-centos7-gcc9-opt", + "LCG_98python3/x86_64-centos7-gcc10-opt", + "LCG_98python3/x86_64-centos7-clang10-opt"] + env: + SHARED: ON + STANDARD: 17 + TBB: ON + steps: + - uses: actions/checkout@v2 + - name: Install CVMFS + run: | + wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb + sudo dpkg -i cvmfs-release-latest_all.deb + sudo apt-get update + sudo apt-get install cvmfs cvmfs-config-default + wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local + sudo mkdir -p /etc/cvmfs + sudo mv default.local /etc/cvmfs/default.local + sudo cvmfs_config setup + ls /cvmfs/sft.cern.ch + ls /cvmfs/geant4.cern.ch + ls /cvmfs/sft-nightlies.cern.ch + - name: Start container + run: | + ls + docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash + - name: Compile and test + run: | + docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh" + + + non-shared-libs: + runs-on: ubuntu-18.04 + strategy: + matrix: + LCG: ["LCG_98python3/x86_64-centos7-gcc10-opt"] + env: + SHARED: OFF + STANDARD: 17 + TBB: ON + steps: + - uses: actions/checkout@v2 + - name: Install CVMFS + run: | + wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb + sudo dpkg -i cvmfs-release-latest_all.deb + sudo apt-get update + sudo apt-get install cvmfs cvmfs-config-default + wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local + sudo mkdir -p /etc/cvmfs + sudo mv default.local /etc/cvmfs/default.local + sudo cvmfs_config setup + ls /cvmfs/sft.cern.ch + ls /cvmfs/geant4.cern.ch + ls /cvmfs/sft-nightlies.cern.ch + - name: Start container + run: | + ls + docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash + - name: Compile and test + run: | + docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh" + + + ubuntu18: + runs-on: ubuntu-18.04 + strategy: + matrix: + LCG: ["LCG_98/x86_64-ubuntu1804-gcc8-opt", + "LCG_98python3/x86_64-ubuntu1804-gcc7-opt"] + env: + SHARED: ON + STANDARD: 17 + TBB: ON + steps: + - uses: actions/checkout@v2 + - name: Install CVMFS + run: | + wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb + sudo dpkg -i cvmfs-release-latest_all.deb + sudo apt-get update + sudo apt-get install cvmfs cvmfs-config-default + wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local + sudo mkdir -p /etc/cvmfs + sudo mv default.local /etc/cvmfs/default.local + sudo cvmfs_config setup + ls /cvmfs/sft.cern.ch + ls /cvmfs/geant4.cern.ch + ls /cvmfs/sft-nightlies.cern.ch + - name: Start container + run: | + ls + docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/ubuntu18:latest /bin/bash + - name: Compile and test + run: | + docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh" diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml new file mode 100644 index 0000000000000000000000000000000000000000..97e09b15b873962b7c530d0cc27ac76bd653b91e --- /dev/null +++ b/.github/workflows/mac.yml @@ -0,0 +1,49 @@ +name: macOS + +on: [push, pull_request] + +jobs: + macOS: + runs-on: macos-10.15 + strategy: + matrix: + LCG: ["LCG_98python3/x86_64-mac1015-clang110-opt","LCG_97apython3/x86_64-mac1015-clang110-opt"] + steps: + - uses: actions/checkout@v2 + - name: Install CVMFS + run: | + brew install ninja + brew cask install osxfuse + curl -L -o cvmfs-2.7.4.pkg https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.7.4/cvmfs-2.7.4.pkg + sudo installer -package cvmfs-2.7.4.pkg -target / + wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local + sudo mv default.local /etc/cvmfs/default.local + sudo cvmfs_config setup + brew cask install gfortran + brew cask install xquartz + - name: Mount CVMFS + run: | + mkdir -p /Users/Shared/cvmfs/sft.cern.ch + mkdir -p /Users/Shared/cvmfs/geant4.cern.ch + sudo mount -t cvmfs sft.cern.ch /Users/Shared/cvmfs/sft.cern.ch + sudo mount -t cvmfs geant4.cern.ch /Users/Shared/cvmfs/geant4.cern.ch + ls /Users/Shared/cvmfs/sft.cern.ch + ls /Users/Shared/cvmfs/geant4.cern.ch + - name: Build DD4hep + run: | + source /Users/Shared/cvmfs/sft.cern.ch/lcg/views/${{ matrix.LCG }}/setup.sh + mkdir build + cd build + cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 .. + ninja + ninja install + . ../bin/thisdd4hep.sh + ctest --output-on-failure -j4 + cd ../examples/ + mkdir build + cd build + cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=17 .. + ninja + ninja install + ctest --output-on-failure -E t_ClientTests_Check_Shape_Eightpoint_Reflect_DetElement + diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml new file mode 100644 index 0000000000000000000000000000000000000000..25a52bf1ca1dd06736014826b04b4ee2ee53deae --- /dev/null +++ b/.github/workflows/python.yml @@ -0,0 +1,32 @@ +name: python + +on: [push, pull_request] + +jobs: + python-lint: + runs-on: ubuntu-18.04 + strategy: + matrix: + LCG: ["LCG_98/x86_64-centos7-gcc10-opt"] + steps: + - uses: actions/checkout@v2 + - name: Install CVMFS + run: | + wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb + sudo dpkg -i cvmfs-release-latest_all.deb + sudo apt-get update + sudo apt-get install cvmfs cvmfs-config-default + wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local + sudo mkdir -p /etc/cvmfs + sudo mv default.local /etc/cvmfs/default.local + sudo cvmfs_config setup + ls /cvmfs/sft.cern.ch + ls /cvmfs/geant4.cern.ch + ls /cvmfs/sft-nightlies.cern.ch + - name: Start container + run: | + docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash + - name: Run Python Checks + run: | + docker exec CI_container /bin/bash -c "./Package/.github/scripts/runPythonChecks.sh" + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 57ccebb274b04198b8c5cceeb2018c6ef125a649..0000000000000000000000000000000000000000 --- a/.travis.yml +++ /dev/null @@ -1,75 +0,0 @@ -sudo: required -dist: trusty - -services: - - docker - -language: cpp - -env: - - COMPILER=gcc; LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=gcc9; PYTHON_CHECK="no" - - COMPILER=gcc; LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no"; SHARED=OFF - - COMPILER=gcc; LCG_RELEASE=LCG_96bpython3; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no" - - COMPILER=clang; LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=clang8; PYTHON_CHECK="no" - - COMPILER=gcc; LCG_RELEASE=LCG_96b; STANDARD=14; COMPILER_VERSION=gcc62; PYTHON_CHECK="no" - - COMPILER=gcc; LCG_RELEASE=dev3; STANDARD=17; COMPILER_VERSION=gcc9; PYTHON_CHECK="no" - - COMPILER=gcc; LCG_RELEASE=dev4; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no" - - PYTHON_CHECK="yes"; COMPILER=gcc; LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=gcc8; - -matrix: - allow_failures: - - env: COMPILER=gcc; LCG_RELEASE=dev3; STANDARD=17; COMPILER_VERSION=gcc9; PYTHON_CHECK="no" - - env: COMPILER=gcc; LCG_RELEASE=dev4; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no" - -before_install: - - wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb - - sudo dpkg -i cvmfs-release-latest_all.deb - - sudo apt-get update - - sudo apt-get install cvmfs cvmfs-config-default - - rm -f cvmfs-release-latest_all.deb - - wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local - - sudo mkdir -p /etc/cvmfs - - sudo mv default.local /etc/cvmfs/default.local - - sudo /etc/init.d/autofs stop - - sudo cvmfs_config setup - - sudo mkdir -p /cvmfs/sft.cern.ch - - sudo mkdir -p /cvmfs/sft-nightlies.cern.ch - - sudo mkdir -p /cvmfs/geant4.cern.ch - - sudo mkdir -p /cvmfs/clicdp.cern.ch - - sudo mount -t cvmfs sft.cern.ch /cvmfs/sft.cern.ch - - sudo mount -t cvmfs sft-nightlies.cern.ch /cvmfs/sft-nightlies.cern.ch - - sudo mount -t cvmfs geant4.cern.ch /cvmfs/geant4.cern.ch - - sudo mount -t cvmfs clicdp.cern.ch /cvmfs/clicdp.cern.ch - - ls /cvmfs/sft.cern.ch - - ls /cvmfs/sft-nightlies.cern.ch - - ls /cvmfs/geant4.cern.ch - - ls /cvmfs/clicdp.cern.ch - - export CVMFS_REPOS="-v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch" - - export CVMFS_REPOS="${CVMFS_REPOS} -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch" - - export CVMFS_REPOS="${CVMFS_REPOS} -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch" - - export CVMFS_REPOS="${CVMFS_REPOS} -v /cvmfs/clicdp.cern.ch:/cvmfs/clicdp.cern.ch" - -# command to install dependencies -install: - - shopt -s extglob dotglob - - mkdir Package - - mv !(Package) Package - - shopt -u dotglob - - export PKGDIR=${PWD}/Package - -# command to run tests -script: - - docker run -ti --name CI_container -v $PKGDIR:/DD4hep -e COMPILER_TYPE=$COMPILER -e LCG_RELEASE=${LCG_RELEASE} -e STANDARD=${STANDARD} -e COMPILER_VERSION=${COMPILER_VERSION} -e SHARED=${SHARED:-ON} ${CVMFS_REPOS} -d clicdp/cc7-lcg /bin/bash - - if [[ "$PYTHON_CHECK" == "yes" ]]; - then docker exec -ti CI_container /bin/bash -c "./DD4hep/.dd4hep-ci.d/runPythonChecks.sh"; - else docker exec -ti CI_container /bin/bash -c "./DD4hep/.dd4hep-ci.d/compile_and_test.sh"; - fi - -after_success: - - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" && "${TRAVIS_EVENT_TYPE}" != "pull_request" && "${COMPILER}" == "clang" && "${TRAVIS_REPO_SLUG%/*}" == "AIDASoft" ]]; - then curl -X POST -F token=$GITLAB_TOKEN -F ref=master https://gitlab.cern.ch/api/v4/projects/7828/trigger/pipeline; - fi - -# Don't send e-mail notifications -notifications: - email: false