Skip to content
Snippets Groups Projects
Commit 52b69073 authored by Marilena Bandieramonte's avatar Marilena Bandieramonte
Browse files

Ubuntu and mac platforms with templates

parent d3a992db
Branches
Tags
No related merge requests found
Pipeline #1425202 failed
stages: stages:
- dependencies-core - deps-A
- dependencies-io - deps-B
- dependencies-CLHEP - deps-C
- dependencies-geant4 - deps-D
- build - build
default:
image: ubuntu:18.0
before_script:
- apt-get update -qq && apt-get install -y -qq git cmake wget unzip build-essential libeigen3-dev
tags:
- docker
variables: variables:
CMAKE_BASE_ARGS: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../install CMAKE_BASE_ARGS: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../install
GIT_SUBMODULE_STRATEGY: recursive GIT_SUBMODULE_STRATEGY: recursive
geomodelcore-build:
stage: dependencies-core # TEMPLATES FOR BUILDING ON DIFFERENT PLATFORMS
.macos-template-job: &macos-job
tags:
- macos
allow_failure: true
timeout: 30 minutes
before_script:
- export PATH="/usr/local/opt/qt/bin:$PATH" # to make Qt5 discoverable by CMake
.ubuntu-template-job: &ubuntu-job
image: ubuntu:18.04
tags:
- docker
before_script:
- 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
.geomodelcore-build-template-job: &geomodelcore-job
stage: deps-A
variables:
CMAKE_ARGS: ${CMAKE_BASE_ARGS}
script: script:
- pwd; ls - pwd; ls
- git clone https://gitlab.cern.ch/GeoModelDev/GeoModelCore.git - git clone https://gitlab.cern.ch/GeoModelDev/GeoModelCore.git
- cd GeoModelCore - mkdir geomodelcore-build
- mkdir build ; cd build - cd geomodelcore-build
- cmake -DCMAKE_INSTALL_PREFIX=../../install ../ - cmake ${CMAKE_ARGS} ../GeoModelCore
- make -j$(nproc) - make -j2
- make install - make install
artifacts: artifacts:
paths: paths:
- install - install
geomodelio-build: .geomodelio-build-template-job: &geomodelio-job
stage: dependencies-io stage: deps-B
variables:
CMAKE_ARGS: ${CMAKE_BASE_ARGS}
script: script:
- pwd; ls - pwd; ls
- git clone https://gitlab.cern.ch/GeoModelDev/GeoModelIO.git - git clone https://gitlab.cern.ch/GeoModelDev/GeoModelIO.git
- cd GeoModelIO - mkdir geomodelio-build
- git checkout master-specialshape-geomodelg4 - cd geomodelio-build
- mkdir build ; cd build - cmake ${CMAKE_ARGS} ../GeoModelIO
- cmake -DCMAKE_INSTALL_PREFIX=../../install ../ - make -j2
- make -j$(nproc)
- make install - make install
artifacts: artifacts:
paths: paths:
- install - install
CLHEP-build: .CLHEP-build-template-job: &CLHEP-job
stage: dependencies-CLHEP stage: deps-C
variables:
CMAKE_ARGS: ${CMAKE_BASE_ARGS}
script: script:
- pwd; ls - pwd; ls
- git clone https://gitlab.cern.ch/CLHEP/CLHEP.git - git clone https://gitlab.cern.ch/CLHEP/CLHEP.git
- cd CLHEP - cd CLHEP
- git checkout CLHEP_2_4_1_0 - git checkout CLHEP_2_4_1_0
- mkdir build ; cd build - cd ../
- cmake -DCMAKE_INSTALL_PREFIX=../../install ../ - mkdir CLHEP-build
- make -j$(nproc) - cd CLHEP-build
- cmake ${CMAKE_ARGS} ../CLHEP
- make -j2
- make install - make install
artifacts: artifacts:
paths: paths:
- install - install
.Geant4-build-template-job: &Geant4-job
geant4-build: stage: deps-D
stage: dependencies-geant4 variables:
CMAKE_ARGS: ${CMAKE_BASE_ARGS}
script: script:
- pwd; ls - pwd; ls
- git clone https://gitlab.cern.ch/geant4/geant4.git - git clone https://gitlab.cern.ch/geant4/geant4.git
- cd geant4 - cd geant4
- git checkout tags/v10.6.0 - git checkout tags/v10.6.0
- mkdir build ; cd build - cd ../
- cmake -DCMAKE_INSTALL_PREFIX=../../install ../ -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_GDML=ON -DGEANT4_BUILD_MULTITHREADED=ON - mkdir Geant4-build
- make -j$(nproc) - cd Geant4-build
- cmake ${CMAKE_ARGS} ../geant4
- make -j2
- make install - make install
artifacts: artifacts:
paths: paths:
- install - install
.geomodelg4-build-template: &geomodelg4-job
.build_template: &build_template
stage: build stage: build
variables:
CMAKE_ARGS: ${CMAKE_BASE_ARGS}
script: script:
- echo "PWD; LS" - echo "PWD; LS"
- pwd; ls - pwd; ls
- mkdir build ; cd build - mkdir build
- pwd ; cd ../../ ; ls - cd build
- cd GeoModelG4/build - cmake ${CMAKE_ARGS} ..
- echo "${CMAKE_ARGS}" - cmake --build . -- -j2
- cmake ${CMAKE_ARGS} ../
- cmake --build . -- -j$(nproc)
- cmake --build . -- install - cmake --build . -- install
# build_slc6: # ACTUAL JOBS
# <<: *build_template
# image: cern/slc6-base ### MACOS PATH
# tags: geomodelcore-mac:
# - cvmfs <<: *macos-job
# variables: <<: *geomodelcore-job
# CMAKE_ARGS: ${CMAKE_BASE_ARGS}
# before_script: geomodelio-mac:
# - yum -y install cmake glibc-devel which motif <<: *macos-job
# - set +e && source CI/setup_lcg.sh; set -e <<: *geomodelio-job
# needs: ["geomodelcore-mac"]
# build_cc7:
# <<: *build_template CLHEP-mac:
# image: cern/cc7-base <<: *macos-job
# tags: <<: *CLHEP-job
# - cvmfs
# variables: Geant4-mac:
# CMAKE_ARGS: ${CMAKE_BASE_ARGS} <<: *macos-job
# before_script: <<: *Geant4-job
# - yum -y install cmake glibc-devel which motif needs: ["CLHEP-mac"]
# - set +e && source CI/setup_lcg.sh; set -e
geomodelg4-mac:
build_ubuntu: <<: *macos-job
<<: *build_template <<: *geomodelg4-job
# image: ubuntu:18.04 needs: ["geomodelcore-mac", "geomodelio-mac", "CLHEP-mac", "Geant4-mac"]
variables:
CMAKE_ARGS: ${CMAKE_BASE_ARGS}
# tags: ### UBUNTU PATH
# - docker geomodelcore-ubuntu:
# before_script: <<: *ubuntu-job
# - apt-get update -qq && apt-get install -y -qq git cmake wget unzip build-essential libeigen3-dev <<: *geomodelcore-job
geomodelio-ubuntu:
<<: *ubuntu-job
<<: *geomodelio-job
needs: ["geomodelcore-ubuntu"]
CLHEP-ubuntu:
<<: *ubuntu-job
<<: *CLHEP-job
Geant4-ubuntu:
<<: *ubuntu-job
<<: *Geant4-job
needs: ["CLHEP-ubuntu"]
geomodelg4-ubuntu:
<<: *ubuntu-job
<<: *geomodelg4-job
needs: ["geomodelcore-ubuntu", "geomodelio-ubuntu", "CLHEP-ubuntu", "Geant4-ubuntu"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment