forked from shnizzedy/slurm_testing
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlaunch_regtest_lite.SLURM
executable file
·32 lines (27 loc) · 1.74 KB
/
launch_regtest_lite.SLURM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
# Required environment variables:
#SBATCH -N 1
#SBATCH -p RM-shared
#SBATCH -t 00:05:00
#SBATCH --ntasks-per-node=4
set -x
export PUSH_LOGS=true
export _WD=$PWD
mkdir -p "${HOME_DIR}/logs/${SHA}/launch"
cd "${HOME_DIR}/logs/${SHA}" || PUSH_LOGS=false
if [[ $PUSH_LOGS == true ]]
then
# set up logging repo
git init
git remote add origin "[email protected]:${OWNER}/regtest-runlogs.git"
git switch -c "${REPO}_${SHA}" || git checkout -b "${REPO}_${SHA}"
cd "$_WD" || exit 1
fi
PATH=$PATH:$PATH_EXTRA
GH_AVAILABLE=true
cd "${HOME_DIR}/C-PAC_slurm_testing" || exit 1
gh repo set-default "${TESTING_REPO}" || GH_AVAILABLE=false
BUILD_SLURM_JOB=$(sbatch --parsable --export="image=$IMAGE,PATH=$PATH,SHA=$SHA,working_dir=$HOME_DIR" --output="/dev/null" -J "build.sh" "${HOME_DIR}/C-PAC_slurm_testing/regression_run_scripts/build_image.sh")
# only launch if build succeeded
sbatch --dependency=afterok:"$BUILD_SLURM_JOB" --export="COMPARISON_PATH=$COMPARISON_PATH,GH_AVAILABLE=$GH_AVAILABLE,HOME_DIR=$HOME_DIR,IMAGE=$IMAGE,OWNER=$OWNER,PATH=$PATH,PUSH_LOGS=$PUSH_LOGS,REPO=$REPO,SHA=$SHA,TOKEN_FILE=$TOKEN_FILE" --output="${HOME_DIR}/logs/${SHA}/launch/%x.out.log" --error="${HOME_DIR}/logs/${SHA}/launch/%x.error.log" "${HOME_DIR}/C-PAC_slurm_testing/regression_run_scripts/regtest_lite.sh"
sbatch --dependency=afternotok:"$BUILD_SLURM_JOB" --export="_CPAC_STATUS_DATA_SOURCE=${SHA},_CPAC_STATUS_PRECONFIG=Apptainer,_CPAC_STATUS_SUBJECT=build,_CPAC_STATUS_STATE=failed,HOME_DIR=$HOME_DIR,OWNER=$OWNER,PATH=$PATH,PUSH_LOGS=$PUSH_LOGS,REPO=$REPO,SHA=$SHA,STATUS=failed,TOKEN_FILE=$TOKEN_FILE" --output="${HOME_DIR}/logs/${SHA}/launch/%x.out.log" --error="${HOME_DIR}/logs/${SHA}/launch/%x.error.log" "${HOME_DIR}/C-PAC_slurm_testing/.github/scripts/status.py"