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