stages: - build - test - deploy - publish before_script: - export NOW=$(date +"%Y%m%d-%H%M%S") - export TAR_NAME_POSTFIX=$NOW - export SYS=`uname -s` - if [ "$SYS" == "Linux" ];then export NPROC=`nproc`;else export NPROC=4;fi - echo "[$CI_RUNNER_DESCRIPTION] $SYS $CI_JOB_NAME Working directory:$PWD tag $CI_COMMIT_REF_NAME CPUS:$NPROC" - export ARCH=`uname -m` - eval export `cat /etc/*-release|grep -e "^VERSION_ID="|tr -d "\" "` - eval export `cat /etc/*-release|grep -e "^ID="|tr -d "\" "` - export REV_POSTFIX=$CI_COMMIT_REF_NAME-$ID-$VERSION_ID-$ARCH - export DISTRIB_NAME=chaos-distrib-$REV_POSTFIX - export DISTRIB_PREFIX=/usr/local/chaos/chaos-distrib - export INSTALL_DIR=$DISTRIB_PREFIX - export CHAOS_MDS=localhost:5000 - export CHAOS_INTERFACE=lo - export CHAOS_LIVE_SERVERS=couchbase - export CHAOS_DB_SERVERS=mongo - export PATH=/usr/local/chaos/qt-56/bin:$PATH - echo "Running on $ID $VERSION_ID $ARCH (distrib name '$DISTRIB_NAME')" - git config --global user.email andrea.michelotti@lnf.infn.it - git config --global user.name amichelo - git config --global color.ui true macosx_x86_64: tags: - macosx stage: build services: - name: couchbase/server:community-3.1.3 alias: couchbase - name: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation/mongo:3.4 alias: mongo script: - export CHAOS_LIVE_SERVERS=localhost - export CHAOS_DB_SERVERS=localhost - curl http://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo - chmod +x ~/bin/repo - ~/bin/repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - mkdir chaos-osx10-distrib - ~/bin/repo sync - ./tools/dbinit.sh localhost localhost - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - cmake -DCHAOS_ARCHITECTURE_TEST=ON -DCHAOS_VME=OFF -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="$CI_JOB_STAGE.$CI_COMMIT_SHA" -DCHAOS_WAN=ON . -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCMAKE_INSTALL_PREFIX=$PWD/chaos-osx10-distrib - make -j 8 install - export CHAOS_LIVE_SERVERS=localhost;export CHAOS_DB_SERVERS=localhost - cd $PWD/chaos-osx10-distrib - source chaos_env.sh - ./tools/dbinit.sh localhost localhost - ./tools/chaos_test.sh . - ./tools/chaos_services.sh stop - tar cfz chaos-osx10-distrib.tar.gz chaos-osx10-distrib allow_failure: true artifacts: name: "chaos-osx10-distrib.tar.gz" paths: - ./*.tar.gz expire_in: 1 day when: always build_i686_static_linux26: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite script: - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - export PATH=/usr/local/chaos/i686-nptl-linux-gnu/bin/:$PATH - export DISTRIB_NAME=chaos-distrib-$CI_COMMIT_REF_NAME-$CI_JOB_NAME - export INSTALL_DIR=/builds/amichelo/chaos_bundle_compilation/distrib/$DISTRIB_NAME - mkdir -p $INSTALL_DIR - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - cmake -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="CI_JOB_STAGE.$CI_COMMIT_SHA" . -DCHAOS_STATIC=ON -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCHAOS_TARGET=i686-linux26 -DCHAOS_CDS=OFF -DCHAOS_MDS=OFF -DCHAOS_WAN=OFF -DCHAOS_EXAMPLES=OFF -DCHAOS_ENABLE_C11=OFF -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR |& tee $INSTALL_DIR/bundle.configuration.log - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - if [ $CI_COMMIT_REF_NAME == "master" ];then i686-nptl-linux-gnu-strip `find $INSTALL_DIR/bin/ -type f`;fi - i686-nptl-linux-gnu-strip `find $INSTALL_DIR/lib/ -name "*.a" -type f` - tar cfz $DISTRIB_NAME.tar.gz -C $INSTALL_DIR/.. $DISTRIB_NAME # - scp $DISTRIB_NAME.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/i686/stage_$DISTRIB_NAME.tar.gz artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 2 day when: always build_i686_dynamic_linux26: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite script: - export DISTRIB_NAME=chaos-distrib-$CI_COMMIT_REF_NAME-$CI_JOB_NAME - export INSTALL_DIR=/builds/amichelo/chaos_bundle_compilation/distrib/$DISTRIB_NAME - mkdir -p $INSTALL_DIR - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - export PATH=/usr/local/chaos/i686-nptl-linux-gnu/bin/:$PATH - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - cmake . -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="CI_JOB_STAGE.$CI_COMMIT_SHA" -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 -DCHAOS_TARGET=i686-linux26 -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCHAOS_CDS=OFF -DCHAOS_MDS=OFF -DCHAOS_WAN=OFF -DCHAOS_EXAMPLES=OFF -DCHAOS_ENABLE_C11=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR |& tee $INSTALL_DIR/bundle.configuration.log - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - cp /usr/local/chaos/i686-nptl-linux-gnu/i686-nptl-linux-gnu/sysroot/lib/libstdc++.so.6 $INSTALL_DIR/lib - tar cfz $DISTRIB_NAME.tar.gz -C $INSTALL_DIR/.. $DISTRIB_NAME artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 2 day when: always ubuntu1604_x86_64: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1604 script: - mkdir -p $INSTALL_DIR - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - if ! cmake -DCHAOS_ARCHITECTURE_TEST=ON -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="$CI_JOB_STAGE.$CI_COMMIT_SHA" -DCHAOS_WAN=ON -DOPENCV=$INSTALL_DIR -DIDS=ON -DENABLE_MEMCACHE=ON -DCHAOS_CCS=ON -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCERN_ROOT=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . |& tee $DISTRIB_PREFIX/bundle.configuration.log;then cat /tmp/cmake.log;fi - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - git clone git@baltig.infn.it:chaos-lnf-control/luminometer.git - cd luminometer ;git checkout $CI_COMMIT_REF_NAME - cd chaos/src;cmake -DCMAKE_MODULE_PATH=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . - make -j 4 install - cd ../../../ - scripts/strip_symbols.sh $INSTALL_DIR - tar cfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos chaos-distrib artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 2 day when: always ubuntu1804_x86_64: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1804 script: - mkdir -p $INSTALL_DIR - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - if ! cmake -DCHAOS_ARCHITECTURE_TEST=ON -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="$CI_JOB_STAGE.$CI_COMMIT_SHA" -DCHAOS_WAN=ON -DOPENCV=$INSTALL_DIR -DIDS=ON -DENABLE_MEMCACHE=ON -DCHAOS_CCS=ON -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCERN_ROOT=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . |& tee $DISTRIB_PREFIX/bundle.configuration.log;then cat /tmp/cmake.log;fi - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - git clone git@baltig.infn.it:chaos-lnf-control/luminometer.git - cd luminometer ;git checkout $CI_COMMIT_REF_NAME - cd chaos/src;cmake -DCMAKE_MODULE_PATH=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . - make -j 4 install - cd ../../../ - scripts/strip_symbols.sh $INSTALL_DIR - tar cfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos chaos-distrib artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 2 day when: always centos7_x86_64: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:centos7 script: - mkdir -p $INSTALL_DIR - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - if ! cmake -DCHAOS_ARCHITECTURE_TEST=ON -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="$CI_JOB_STAGE.$CI_COMMIT_SHA" -DCHAOS_WAN=ON -DOPENCV=$INSTALL_DIR -DIDS=ON -DENABLE_MEMCACHE=ON -DCHAOS_CCS=ON -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCERN_ROOT=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . |& tee $DISTRIB_PREFIX/bundle.configuration.log;then cat /tmp/cmake.log;fi - make -j 4 install - git clone git@baltig.infn.it:chaos-lnf-control/luminometer.git - cd luminometer ;git checkout $CI_COMMIT_REF_NAME - cd chaos/src;cmake -DCMAKE_MODULE_PATH=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - cd ../../../ - scripts/strip_symbols.sh $INSTALL_DIR - tar cfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos chaos-distrib artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 2 day when: always # ubuntu1604_legacy_x86_64: # stage: build # image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1604 # script: # - mkdir -p $INSTALL_DIR # - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME # - repo sync # - cmake -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME" -DCHAOS_VERSION_MINOR="$CI_JOB_STAGE.$CI_COMMIT_SHA" -DCHAOS_BOOST_VERSION=56 -DCHAOS_CC_COMPILER=g++-4.8 -DCHAOS_C_COMPILER=gcc-4.8 -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . # - make -j 4 install |& tee $DISTRIB_PREFIX/bundle.compilation.log # # - source $INSTALL_DIR/chaos_env.sh # # - cd chaosframework/ccs;qmake;echo "* compiling CCS";make -j 4 >& $DISTRIB_PREFIX/log/ccs.compilation.log ;cp ccs $INSTALL_DIR/bin; # # - cd ../../ # - scripts/strip_symbols.sh $INSTALL_DIR # - tar cfz $DISTRIB_NAME.legacy.tar.gz -C /usr/local/chaos chaos-distrib # artifacts: # name: "$DISTRIB_NAME.legacy.tar.gz" # paths: # - ./*.tar.gz # expire_in: 1 day ubuntu1404_x86_64: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1404 script: - mkdir -p $INSTALL_DIR - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - if ! cmake -DCHAOS_ARCHITECTURE_TEST=ON -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCHAOS_VERSION_MINOR="$CI_JOB_STAGE.$CI_COMMIT_SHA" -DOPENCV=$INSTALL_DIR -DIDS=ON -DCHAOS_WAN=ON -DENABLE_MEMCACHE=ON -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCHAOS_CCS=ON -DCERN_ROOT=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . ;then cat /tmp/cmake.log;fi - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - source $INSTALL_DIR/chaos_env.sh - cd chaosframework/ccs;qmake;echo "* compiling CCS"; - if make -j 4 >& $DISTRIB_PREFIX/log/ccs.compilation.log;then cp ccs $INSTALL_DIR/bin;else cat $DISTRIB_PREFIX/log/ccs.compilation.log;fi - cd ../../ - git clone git@baltig.infn.it:chaos-lnf-control/luminometer.git - cd luminometer ;git checkout $CI_COMMIT_REF_NAME - cd chaos/src;cmake -DCMAKE_MODULE_PATH=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR . - make -j 4 install - cd ../../../ - scripts/strip_symbols.sh $INSTALL_DIR - tar cfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos chaos-distrib artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 1 day when: always build_arm_linux26: stage: build retry: 2 tags: - shared image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite script: - export PATH=/usr/local/chaos/i686-nptl-linux-gnu/bin/:$PATH - export DISTRIB_NAME=chaos-distrib-$CI_COMMIT_REF_NAME-$CI_JOB_NAME - export INSTALL_DIR=/builds/amichelo/chaos_bundle_compilation/distrib/$DISTRIB_NAME - mkdir -p $INSTALL_DIR - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - export PATH=/usr/local/chaos/gcc-arm-infn-linux26/bin/:$PATH - cd chaosframework;export CHAOS_LIB_HASH=`git log -n 1 --pretty="%h"`;cd -; - cmake -DCHAOS_VME=OFF -DCHAOS_VERSION_MAJOR="$CI_COMMIT_REF_NAME.$CHAOS_LIB_HASH" -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 -DCHAOS_VERSION_MINOR="CI_JOB_STAGE.$CI_COMMIT_SHA" . -DCHAOS_STATIC=ON -DCHAOS_BUILD_ID=${CI_PIPELINE_ID} -DCHAOS_TARGET=arm-linux-2.6 -DCHAOS_CDS=OFF -DCHAOS_MDS=OFF -DCHAOS_WAN=OFF -DCHAOS_EXAMPLES=OFF -DCHAOS_ENABLE_C11=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR - if ! make -j 4 install |& tee $INSTALL_DIR/bundle.compilation.log;then tar cfz compilation.tar.gz $INSTALL_DIR/bundle.compilation.log;exit 1;fi - arm-infn-linux-gnueabi-strip `find $INSTALL_DIR/bin/ -type f` - arm-infn-linux-gnueabi-strip `find $INSTALL_DIR/lib/ -name "*.a" -type f` - tar cfz $DISTRIB_NAME.tar.gz -C $INSTALL_DIR/.. $DISTRIB_NAME artifacts: name: "$DISTRIB_NAME.tar.gz" paths: - ./*.tar.gz expire_in: 2 day when: always # test_arm_linux26: # stage: test # dependencies: # - build_arm_linux26 # tags: # - lnf # image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite # script: # - scp chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/arm/stage_chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26.tar.gz # - tar xvfz chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26.tar.gz chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26/bin/daqLiberaServer # - scp chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26/bin/daqLiberaServer michelo@192.168.143.252:/export/chaos-libera/old/daqLiberaServer-test # - ssh root@libera01 "/mnt/chaos/old/daqLiberaServer-test --help" # test_i686_static_linux26: # dependencies: # - build_i686_static_linux26 # tags: # - lnf # stage: test # image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite # allow_failure: true # script: # - scp chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/i686/stage_chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26.tar.gz chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26.tar.gz # - tar xfz chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26.tar.gz chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26/bin/UnitServer # - scp chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26/bin/UnitServer root@dante073:UnitServer-test # - ssh root@dante073 "./UnitServer-test --help" # - ssh root@dante073 "rm ./UnitServer-test" # test_i686_dynamic_linux26: # dependencies: # - build_i686_dynamic_linux26 # tags: # - lnf # stage: test # image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite # allow_failure: true # script: # - scp chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/i686/stage_chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26.tar.gz # - tar xfz chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26.tar.gz chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26/bin/daqLiberaServer chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26/lib # - mv chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26/ test # - ssh michelo@192.168.143.252 "rm -rf /export/chaos-libera/new/test" # - scp -r test michelo@192.168.143.252:/export/chaos-libera/new # - ssh root@libera12 "LD_LIBRARY_PATH=/mnt/chaos/new/test/lib /mnt/chaos/new/test/bin/daqLiberaServer --help" # - ssh michelo@192.168.143.252 "rm -rf /export/chaos-libera/new/test" ubuntu1604_test_x86_64: stage: test dependencies: - ubuntu1604_x86_64 services: - name: couchbase/server:community-3.1.3 alias: couchbase - name: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation/mongo:3.4 alias: mongo image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1604 script: - tar xfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos/ - $INSTALL_DIR/tools/dbinit.sh couchbase mongo - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cp -r tools $INSTALL_DIR - cp -r common/test/js $INSTALL_DIR/tools/test - export PPROF_PATH=$INSTALL_DIR/bin/pprof; - source $INSTALL_DIR/chaos_env.sh - if ! $INSTALL_DIR/bin/TestFramework;then export HEAPCHECK=strict; echo "*retrying with heap check"; $INSTALL_DIR/bin/TestFramework; exit 1;fi - if ! $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then export HEAPCHECK=normal; tar cfvz $DISTRIB_NAME-log-bad.tar.gz -C /usr/local/chaos/chaos-distrib log;echo "* retrying test in debug mode";export CHAOS_DEBUG_CMD_TOOL="gdb";if ! $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then tar cfvz $DISTRIB_NAME-log-debug.tar.gz -C /usr/local/chaos/chaos-distrib log;fi;exit 1;fi - $INSTALL_DIR/tools/chaos_services.sh stop - tar cfz $DISTRIB_NAME-log-ok.tar.gz -C /usr/local/chaos/chaos-distrib log artifacts: name: "$DISTRIB_NAME-log.tar.gz" paths: - ./*-log*.tar.gz expire_in: 3 day when: always ubuntu1804_profile_test_x86_64: stage: test dependencies: - ubuntu1804_x86_64 services: - name: couchbase/server:community-3.1.3 alias: couchbase - name: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation/mongo:3.4 alias: mongo image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1804 script: - tar xfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos/ - $INSTALL_DIR/tools/dbinit.sh couchbase mongo - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cp -r tools $INSTALL_DIR - cp -r common/test/js $INSTALL_DIR/tools/test/ - export PPROF_PATH=$INSTALL_DIR/bin/pprof; - source $INSTALL_DIR/chaos_env.sh - HEAPCHECK=normal; LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc.so $INSTALL_DIR/bin/TestFramework; - if ! LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc.so $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then $INSTALL_DIR/tools/generateGoogleProfilePdf.sh /tmp $INSTALL_DIR/bin;mv *.pdf $INSTALL_DIR/log;tar cfvz $DISTRIB_NAME-log-bad.tar.gz -C /usr/local/chaos/chaos-distrib log /tmp/*.heap*;exit 1;fi - $INSTALL_DIR/tools/chaos_services.sh stop - $INSTALL_DIR/tools/generateGoogleProfilePdf.sh /tmp $INSTALL_DIR/bin;mv *.pdf $INSTALL_DIR/log - tar cfz $DISTRIB_NAME-log-ok.tar.gz -C /usr/local/chaos/chaos-distrib log /tmp/*.heap* allow_failure: true artifacts: name: "$DISTRIB_NAME-log.tar.gz" paths: - ./*-log*.tar.gz expire_in: 3 day when: always centos7_test_x86_64: stage: test dependencies: - centos7_x86_64 services: - name: couchbase/server:community-3.1.3 alias: couchbase - name: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation/mongo:3.4 alias: mongo image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:centos7 script: - tar xfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos/ - $INSTALL_DIR/tools/dbinit.sh couchbase mongo - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - export PPROF_PATH=$INSTALL_DIR/bin/pprof - cp -r tools $INSTALL_DIR - cp -r common/test/js $INSTALL_DIR/tools/test - source $INSTALL_DIR/chaos_env.sh - if ! $INSTALL_DIR/bin/TestFramework;then export HEAPCHECK=strict; echo "*retrying with heap check"; $INSTALL_DIR/bin/TestFramework; exit 1;fi - if ! $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then export HEAPCHECK=normal; tar cfvz $DISTRIB_NAME-log-bad.tar.gz -C /usr/local/chaos/chaos-distrib log;echo "* retrying test in debug mode";export CHAOS_DEBUG_CMD_TOOL="gdb";if ! $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then tar cfvz $DISTRIB_NAME-log-debug.tar.gz -C /usr/local/chaos/chaos-distrib log;fi;exit 1;fi - $INSTALL_DIR/tools/chaos_services.sh stop - tar cfz $DISTRIB_NAME-log-ok.tar.gz -C /usr/local/chaos/chaos-distrib log artifacts: name: "$DISTRIB_NAME-log.tar.gz" paths: - ./*-log*.tar.gz expire_in: 3 day when: always ubuntu1404_test_x86_64: stage: test tags: - lnf dependencies: - ubuntu1404_x86_64 services: - name: couchbase/server:community-3.1.3 alias: couchbase - name: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation/mongo:3.4 alias: mongo image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:1404 script: - tar xfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos - $INSTALL_DIR/tools/dbinit.sh couchbase mongo - repo init -q --no-clone-bundle -u git@baltig.infn.it:chaos-lnf-control/chaos_repo_bundle.git -b $CI_COMMIT_REF_NAME - repo sync - cp -r tools $INSTALL_DIR - cp -r common/test/js $INSTALL_DIR/tools/test - source $INSTALL_DIR/chaos_env.sh - export PPROF_PATH=$INSTALL_DIR/bin/pprof - if ! $INSTALL_DIR/bin/TestFramework;then export HEAPCHECK=strict; echo "*retrying with heap check"; $INSTALL_DIR/bin/TestFramework; exit 1;fi - if ! $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then export HEAPCHECK=normal; tar cfvz $DISTRIB_NAME-log-bad.tar.gz -C /usr/local/chaos/chaos-distrib log;echo "* retrying test in debug mode";export CHAOS_DEBUG_CMD_TOOL="gdb";if ! $INSTALL_DIR/tools/chaos_test.sh -d $INSTALL_DIR/tools/test;then tar cfvz $DISTRIB_NAME-log-debug.tar.gz -C /usr/local/chaos/chaos-distrib log;fi;exit 1;fi - $INSTALL_DIR/tools/chaos_services.sh stop - tar cfz $DISTRIB_NAME-log-ok.tar.gz -C /usr/local/chaos/chaos-distrib log artifacts: name: "$DISTRIB_NAME-log.tar.gz" paths: - ./*-log*.tar.gz expire_in: 3 day when: always deploy_stage: tags: - lnf dependencies: - ubuntu1404_x86_64 - ubuntu1604_x86_64 - ubuntu1804_x86_64 - centos7_x86_64 - build_i686_dynamic_linux26 - build_arm_linux26 stage: deploy image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite script: - scripts/accept_merge_request.sh $CI_COMMIT_REF_NAME - if [ -e chaos-osx10-distrib.tar.gz ];then scp chaos-osx10-distrib.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/$ARCH/osx/;fi - scp chaos-distrib-$CI_COMMIT_REF_NAME-ubuntu-16.04-x86_64.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/$ARCH/ubuntu/16.04/chaos-distrib.tar.gz - scp chaos-distrib-$CI_COMMIT_REF_NAME-ubuntu-18.04-x86_64.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/$ARCH/ubuntu/18.04/chaos-distrib.tar.gz - scp chaos-distrib-$CI_COMMIT_REF_NAME-centos-7-x86_64.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/$ARCH/centos/7/chaos-distrib.tar.gz - scp chaos-distrib-$CI_COMMIT_REF_NAME-ubuntu-14.04-x86_64.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/$ARCH/ubuntu/14.04/chaos-distrib.tar.gz - scp chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/arm/chaos-distrib-$CI_COMMIT_REF_NAME-build_arm_linux26.tar.gz - scp chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26.tar.gz chaosweb@opensource.lnf.infn.it:/var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/i686/chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_dynamic_linux26.tar.gz # - ssh chaosweb@opensource.lnf.infn.it "mv /var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/i686/stage_chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26.tar.gz /var/www/html/binary/chaos/$CI_COMMIT_REF_NAME/i686/chaos-distrib-$CI_COMMIT_REF_NAME-build_i686_static_linux26.tar.gz" - if [ "$DEPLOY_DESTINATION" == "development" ];then echo "deploying in LNF DEVELOPMENT infrastructure"; tar xfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos;cd $DISTRIB_PREFIX;source chaos_env.sh;./tools/chaos_deploy.sh -c tools/config/lnf/test/chaos-infrastructure.txt -i /usr/local/chaos/chaos-distrib;fi - if [ "$DEPLOY_DESTINATION" == "production" ];then echo "deploying in LNF MASTER infrastructure"; tar xfz $DISTRIB_NAME.tar.gz -C /usr/local/chaos;cd $DISTRIB_PREFIX;source chaos_env.sh;./tools/chaos_deploy.sh -c tools/config/lnf/production/chaos-infrastructure.txt -i /usr/local/chaos/chaos-distrib;cd tools/config/lnf/production; ./update_luminometer.sh;fi - curl -X POST -F token="81913e63e951cc80ebf0095440d432" -F "ref=experimental" -F "variables[DEPLOY_DESTINATION]=$CI_COMMIT_REF_NAME" https://baltig.infn.it/api/v4/projects/1443/trigger/pipeline allow_failure: true pages: stage: publish dependencies: - ubuntu1404_test_x86_64 - ubuntu1604_test_x86_64 - centos7_test_x86_64 image: baltig.infn.it:4567/chaos-lnf-control/chaos_bundle_compilation:lite script: - mkdir -p perf/ubuntu1404 perf/ubuntu1604 perf/centos7 public - ls -latr - tar xfvz chaos-distrib-$CI_COMMIT_REF_NAME-ubuntu-14.04-x86_64-log-ok.tar.gz -C perf/ubuntu1404 - tar xfvz chaos-distrib-$CI_COMMIT_REF_NAME-ubuntu-16.04-x86_64-log-ok.tar.gz -C perf/ubuntu1604 - tar xfvz chaos-distrib-$CI_COMMIT_REF_NAME-centos-7-x86_64-log-ok.tar.gz -C perf/centos7 - mv perf/log/ubuntu1404/*.html perf/ubuntu1404 - mv perf/log/ubuntu1604/*.html perf/ubuntu1604 - mv perf/log/centos7/*.html perf/centos7/ - mv perf/log/ubuntu1404/*.png perf/ubuntu1404 - mv perf/log/ubuntu1604/*.png perf/ubuntu1604 - mv perf/log/centos7/*.png perf/centos7/ allow_failure: true artifacts: paths: - 'public' expire_in: 60 day