#!/bin/bash echo "===================== prepare for installation =====================" echo " > whoami" whoami echo " > uname -a" uname -a echo " > pwd" pwd echo " > ls -a" ls -a # define environment variables export CSST_SIMS_C3="/nfsdata/share/csst_simulation_data/Cycle-3-SimuData/" export CSST_SIMS_C5_2="/nfsdata/share/csst_simulation_data/Cycle-5-SimuData/" export AUX_DIR="/nfsdata/users/csstpipeline/L1Pipeline/unittests/" echo " > which python" which python echo " > which pip" which pip echo " > python --version" python --version echo "===================== isntall requirements =====================" pip install -r requirements.txt echo "===================== install package =====================" sh install_local.sh echo "===================== show package info =====================" echo " > pip show $JOB_NAME" pip show $JOB_NAME if [ "$JOB_NAME" != "csst_proto" ]; then echo "===================== download code style tests =====================" curl -O https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto/-/raw/main/pipelines/test_codestyle.py fi coverage run -m pytest unittest_status=$? echo "===================== make coverage =====================" coverage report coverage html # zip -q -r htmlcov.zip htmlcov echo "===================== importability =====================" echo " > try 'from $JOB_NAME.top_level_interface import *'" python -c "from $JOB_NAME.top_level_interface import *" if [ "$?" != 0 ]; then echo "Success!" else echo "Failed!" fi echo "===================== POST BUILD BELOW =====================" # the exit value is determined from unit tests if [ "$unittest_status" != 0 ]; then exit $unittest_status else exit 0 fi # In Jenkins: #!/bin/bash #sh -c "$(curl -fsSL https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto/-/raw/main/pipelines/build.sh)"