#!/bin/bash echo "===================== prepare for installation =====================" whoami uname -a pwd 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 "Python executor and version" which python which pip python --version echo "===================== isntall requirements =====================" pip install -r requirements.txt echo "===================== install package =====================" sh install_local.sh echo "===================== show package info =====================" 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 =====================" python -c "from $JOB_NAME.top_level_interface import *" 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)"