123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- stages:
- - check_permissions
- - build
- - test_runMC
- - test_run_reco
- - deploy
-
- before_script:
- - export SIMPATH=/cvmfs/nica.jinr.ru/$OS_TYPE/fairsoft/mpd
- - export FAIRROOTPATH=/cvmfs/nica.jinr.ru/$OS_TYPE/fairroot/mpd
- - sed -i "s/\/opt\/fairsoft\/install/\/cvmfs\/nica.jinr.ru\/$OS_TYPE\/fairsoft\/mpd/g" SetEnv.sh
- - sed -i "s/\/opt\/fairroot\/install/\/cvmfs\/nica.jinr.ru\/$OS_TYPE\/fairroot\/mpd/g" SetEnv.sh
- - source ./SetEnv.sh
-
- variables:
- GIT_SUBMODULE_STRATEGY: recursive
- GREEN: '\033[1;32m'
- RED: '\033[1;31m'
- NC: '\033[0m'
- .only-default: &only-default
- only:
- - merge_requests
- - dev
- - tags
- check_permissions:
- image: git.jinr.ru:5005/nica/docker-images/centos7/base:latest
- variables:
- OS_TYPE: "centos7"
- PERMISSIONS_MESSAGE_FAUILURE: "Permissions check: ${RED}FAILED${NC}. You don't have permission to change some files, please contact your project maintainers."
- PERMISSIONS_MESSAGE_SUCCESS: "Permissions check: ${GREEN}PASSED${NC}."
- before_script:
- - echo "Skipping global before_script"
- tags:
- - docker
- stage: check_permissions
- script:
- - >
- if git diff HEAD~ --name-only|grep .gitlab-ci.yml; then
- if grep -q $GITLAB_USER_LOGIN <<< $MAINTAINERS; then echo -e $PERMISSIONS_MESSAGE_SUCCESS $(exit 0); else echo -e $PERMISSIONS_MESSAGE_FAUILURE; $(exit -1); fi
- fi;
- allow_failure: false
- <<: *only-default
- .build_template: &build
- stage: build
- artifacts:
- paths:
- - build
- script:
- - mkdir build
- - cd build
- - cmake "$CI_PROJECT_DIR"
- - make -j 5
- allow_failure: false
- <<: *only-default
-
- build:centos:
- image: git.jinr.ru:5005/nica/docker-images/centos7/base:latest
- variables:
- OS_TYPE: "centos7"
- tags:
- - docker
- - cvmfs
- <<: *build
- build:ubuntu:
- image: git.jinr.ru:5005/nica/docker-images/ubuntu/base:latest
- variables:
- OS_TYPE: "ubuntu"
- tags:
- - docker
- - cvmfs
- <<: *build
-
- .runMC_template: &runMC
- stage: test_runMC
- tags:
- - docker
- - cvmfs
- artifacts:
- paths:
- - macro/mpd/evetest.root
- script:
- - source build/config.sh
- - root -b -q -l '$CI_PROJECT_DIR/macro/mpd/runMC.C("auau.09gev.mbias.98k.ftn14","$VMCWORKDIR/macro/mpd/evetest.root",0,2)' | tee output.txt
- - (if grep -q "Macro finished successfully." output.txt; then $(exit 0); else $(exit -1); fi);
- allow_failure: false
- <<: *only-default
-
- runMC:centos:
- image: git.jinr.ru:5005/nica/docker-images/centos7/base:latest
- variables:
- OS_TYPE: "centos7"
- dependencies:
- - build:centos
- <<: *runMC
- runMC:ubuntu:
- image: git.jinr.ru:5005/nica/docker-images/ubuntu/base:latest
- variables:
- OS_TYPE: "ubuntu"
- dependencies:
- - build:ubuntu
- <<: *runMC
-
- .run_reco_template: &run_reco
- stage: test_run_reco
- tags:
- - docker
- - cvmfs
- script:
- - source build/config.sh
- - root -b -q -l "$CI_PROJECT_DIR/macro/mpd/reco.C" | tee output.txt
- - (if grep -q "Macro finished successfully." output.txt; then $(exit 0); else $(exit -1); fi);
- allow_failure: false
- <<: *only-default
-
- run_reco:centos:
- image: git.jinr.ru:5005/nica/docker-images/centos7/base:latest
- variables:
- OS_TYPE: "centos7"
- dependencies:
- - build:centos
- - runMC:centos
- <<: *run_reco
-
- run_reco:ubuntu:
- image: git.jinr.ru:5005/nica/docker-images/ubuntu/base:latest
- variables:
- OS_TYPE: "ubuntu"
- dependencies:
- - build:ubuntu
- - runMC:ubuntu
- <<: *run_reco
-
- .deploy_template: &deploy
- stage: deploy
- before_script:
- - echo "Skipping global before_script"
- script:
- - eval $(ssh-agent -s)
- - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add /dev/stdin > /dev/null
- - mkdir -p ~/.ssh
- - chmod 700 ~/.ssh
- - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
- - chmod 644 ~/.ssh/known_hosts
- - rm -rf /cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/$CI_COMMIT_REF_NAME
- - rm -rf build
- - mkdir build
- - cd build
- - |
- if [ $CI_ENVIRONMENT_NAME = "sl6" ]; then
- scl enable python27 sclo-git212 - << \EOF
- sed -i "s/\/opt\/fairsoft\/install/\/cvmfs\/nica.jinr.ru\/sl6\/fairtest\/fairsoft\/install/g" ../SetEnv.sh
- sed -i "s/\/opt\/fairroot\/install/\/cvmfs\/nica.jinr.ru\/sl6\/fairtest\/fairroot\/install/g" ../SetEnv.sh
- source /cvmfs/nica.jinr.ru/sl6/fairtest/AIO_export.sh
- source ../SetEnv.sh
- echo "/cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/$CI_COMMIT_REF_NAME"
- cmake -DCMAKE_INSTALL_PREFIX=/cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/$CI_COMMIT_REF_NAME ..
- make -j 5
- make install
- EOF
- else
- sed -i "s/\/opt\/fairsoft\/install/\/cvmfs\/nica.jinr.ru\/$CI_ENVIRONMENT_NAME\/fairsoft\/jun19p1/g" ../SetEnv.sh
- sed -i "s/\/opt\/fairroot\/install/\/cvmfs\/nica.jinr.ru\/$CI_ENVIRONMENT_NAME\/fairroot\/v18.2.0/g" ../SetEnv.sh
- source ../SetEnv.sh
- echo "/cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/$CI_COMMIT_REF_NAME"
- cmake -DCMAKE_INSTALL_PREFIX=/cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/$CI_COMMIT_REF_NAME ..
- make -j 5
- make install
- fi;
- - ssh $STRATUM_0 "sudo cvmfs_server transaction nica.jinr.ru"
- - rsync --filter='-p .cvmfscatalog' --filter='-p .cvmfsautocatalog' -a /cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/$CI_COMMIT_REF_NAME $STRATUM_0:/cvmfs/nica.jinr.ru/$CI_ENVIRONMENT_NAME/mpdroot/
- - ssh $STRATUM_0 "sudo cvmfs_server publish nica.jinr.ru"
- - ssh-agent -k
- only:
- - tags
- - dev
- allow_failure: false
-
- deploy:sl6:
- image: git.jinr.ru:5005/nica/docker-images/sl6/fair-mpd:latest
- environment:
- name: sl6
- tags:
- - docker
- - no-cvmfs
- <<: *deploy
-
- deploy:centos7:
- image: git.jinr.ru:5005/nica/docker-images/centos7/fair:latest
- environment:
- name: centos7
- tags:
- - docker
- - no-cvmfs
- <<: *deploy
|