#!/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 ====================="
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)"