diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 437b3324a838278e8b706964650a5de29ba5fe29..7b5aac64030bcfc991bc1117eca4959c9681588f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,12 +38,12 @@ variables: - apt-get update -qq && apt-get install -y -qq git cmake wget unzip build-essential freeglut3-dev libboost-all-dev qt5-default mercurial libeigen3-dev libsqlite3-dev -.ubuntu-template-job-registry: &ubuntu-job-registry - image: gitlab-registry.cern.ch/mbandier/geant4-ubuntu/base-image:1.1 - tags: - - docker - before_script: - - apt-get update -qq && apt-get install -y -qq libeigen3-dev libsqlite3-dev +# .ubuntu-template-job-registry: &ubuntu-job-registry +# image: gitlab-registry.cern.ch/mbandier/geant4-ubuntu/base-image:1.1 +# tags: +# - docker +# before_script: +# - apt-get update -qq && apt-get install -y -qq libeigen3-dev libsqlite3-dev # TEMPLATES FOR BUILDING PACKAGES @@ -91,6 +91,46 @@ variables: artifacts: paths: - install + + +.xercesc-build-template-job: &xercesc-job + stage: step-A + variables: + CMAKE_ARGS: ${CMAKE_BASE_ARGS} + script: + - pwd; ls + - wget https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.2.2.tar.gz + - tar -xf xerces-c-3.2.2.tar.gz + - mkdir xerces-c-build + - cd xerces-c-build + - cmake ${CMAKE_ARGS} ../xerces-c-3.2.2 + - make -j4 + - make install + artifacts: + paths: + - install + + +.geant4-build-template-job: &geant4-job + stage: step-B + variables: + CMAKE_ARGS: ${CMAKE_BASE_ARGS} + script: + - pwd; ls + - git clone https://gitlab.cern.ch/geant4/geant4.git + - cd geant4 + - git checkout tags/v10.6.0 + - cd ../ + - mkdir Geant4-build + - cd Geant4-build + - cmake ${CMAKE_ARGS} -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_GDML=ON -DGEANT4_BUILD_MULTITHREADED=ON -DXERCESC_ROOT_DIR=../install/xerces-c/ ../geant4 -DGEANT4_USE_SYSTEM_EXPAT=OFF + - make -j4 + - make install + artifacts: + paths: + - install + + .geomodel-build-template: &geomodel-job @@ -183,10 +223,22 @@ ubu-gm-examples-builtin: CMAKE_CONFIG_FLAGS: -DGEOMODEL_BUILD_EXAMPLES=TRUE CMAKE_EXTRA_FLAGS: -DGEOMODEL_USE_BUILTIN_JSON=TRUE -DGEOMODEL_USE_BUILTIN_XERCESC=TRUE + +ubu-XercesC: + <<: *ubuntu-job + <<: *xercesc-job + +ubu-geant4: + <<: *ubuntu-job + <<: *geant4-job + needs: ["ubu-XercesC"] + + ubu-gm-examples-gmg4-builtin: <<: *ubuntu-job-registry <<: *geomodel-job - stage: step-A + stage: step-C + needs: ["ubu-geant4"] variables: CMAKE_ARGS: ${CMAKE_BASE_ARGS} CMAKE_CONFIG_FLAGS: -DGEOMODEL_BUILD_EXAMPLES_W_GEANT4=TRUE @@ -195,7 +247,8 @@ ubu-gm-examples-gmg4-builtin: ubu-gm-gmg4-builtin: <<: *ubuntu-job-registry <<: *geomodel-job - stage: step-A + stage: step-C + needs: ["ubu-geant4"] variables: CMAKE_ARGS: ${CMAKE_BASE_ARGS} CMAKE_CONFIG_FLAGS: -DGEOMODEL_BUILD_GEOMODELG4=TRUE @@ -204,7 +257,8 @@ ubu-gm-gmg4-builtin: ubu-gm-fullsimlight-builtin: <<: *ubuntu-job-registry <<: *geomodel-job - stage: step-A + stage: step-C + needs: ["ubu-geant4"] variables: CMAKE_ARGS: ${CMAKE_BASE_ARGS} CMAKE_CONFIG_FLAGS: -DGEOMODEL_BUILD_FULLSIMLIGHT=TRUE