Skip to content
Snippets Groups Projects
Commit 45e71fff authored by Lukas Werner's avatar Lukas Werner
Browse files

Better auth messages, check for max slurm time limit

parent 82ab7f8e
No related branches found
No related tags found
No related merge requests found
...@@ -38,7 +38,7 @@ do ...@@ -38,7 +38,7 @@ do
diff <(ssh-keygen -y -e -f /dev/stdin <<< "$AUTH_KEY") <(ssh-keygen -y -e -f /dev/stdin <<< "$PUB") && exit 0 diff <(ssh-keygen -y -e -f /dev/stdin <<< "$AUTH_KEY") <(ssh-keygen -y -e -f /dev/stdin <<< "$PUB") && exit 0
done < "$AUTH_PUB" done < "$AUTH_PUB"
exit 1 exit 1
) || error "Authentication failed." ) || error "Authentication for user $AUTH_USER failed."
### Env cleanup ### Env cleanup
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
set -euf -o pipefail set -euf -o pipefail
shopt -s inherit_errexit shopt -s inherit_errexit
MAX_CI_JOB_RUNTIME=120
hash awk hash awk
hash chown hash chown
hash diff hash diff
...@@ -40,7 +42,7 @@ do ...@@ -40,7 +42,7 @@ do
diff --color=never <(ssh-keygen -y -e -f /dev/stdin <<< "$AUTH_KEY") <(ssh-keygen -y -e -f /dev/stdin <<< "$PUB") > /dev/null && exit 0 diff --color=never <(ssh-keygen -y -e -f /dev/stdin <<< "$AUTH_KEY") <(ssh-keygen -y -e -f /dev/stdin <<< "$PUB") > /dev/null && exit 0
done < "$AUTH_PUB" done < "$AUTH_PUB"
exit 1 exit 1
) || error "Authentication failed." ) || error "Authentication for user $AUTH_USER failed."
### Env setup ### Env setup
...@@ -56,8 +58,7 @@ BASE_DIR=$AUTH_USER_WORK/gitlab-runner/builds/${CUSTOM_ENV_CI_CONCURRENT_PROJECT ...@@ -56,8 +58,7 @@ BASE_DIR=$AUTH_USER_WORK/gitlab-runner/builds/${CUSTOM_ENV_CI_CONCURRENT_PROJECT
runuser "$AUTH_USER" --login --command "mkdir -p $BASE_DIR" runuser "$AUTH_USER" --login --command "mkdir -p $BASE_DIR"
if [[ ("$2" == "step_script" || "$2" == "build_script") && ${CUSTOM_ENV_SUBMIT_TO_SLURM:-} ]] if [[ ("$2" == "step_script" || "$2" == "build_script") && ${CUSTOM_ENV_SUBMIT_TO_SLURM:-} ]]; then
then
## The script is the one specified in the gitlab-ci.yml script directive and the SUBMIT_TO_SLURM variable is set ## The script is the one specified in the gitlab-ci.yml script directive and the SUBMIT_TO_SLURM variable is set
for E in $(env | grep -E "^CUSTOM_ENV_SLURM_") for E in $(env | grep -E "^CUSTOM_ENV_SLURM_")
...@@ -66,13 +67,20 @@ then ...@@ -66,13 +67,20 @@ then
done done
: "${SLURM_JOB_NAME:="gitlab-ci-${CUSTOM_ENV_CI_PROJECT_NAME:?}-${CUSTOM_ENV_CI_PIPELINE_ID:?}-${CUSTOM_ENV_CI_JOB_ID:?}"}" : "${SLURM_JOB_NAME:="gitlab-ci-${CUSTOM_ENV_CI_PROJECT_NAME:?}-${CUSTOM_ENV_CI_PIPELINE_ID:?}-${CUSTOM_ENV_CI_JOB_ID:?}"}"
: "${SLURM_TIMELIMIT:="240"}" : "${SLURM_TIMELIMIT:=$MAX_CI_JOB_RUNTIME}"
: "${SLURM_TIME:=$SLURM_TIMELIMIT}" : "${SLURM_TIME:=$SLURM_TIMELIMIT}"
export SLURM_JOB_NAME export SLURM_JOB_NAME
export SLURM_TIME export SLURM_TIME
unset SLURM_TIMELIMIT unset SLURM_TIMELIMIT
# limit max job run time
if [[ $SLURM_TIME > $MAX_CI_JOB_RUNTIME ]]; then
echo "SLURM_TIMELIMIT or SLURM_TIME larger than $MAX_CI_JOB_RUNTIME (s), limiting to $MAX_CI_JOB_RUNTIME." 1>&2
SLURM_TIME=$MAX_CI_JOB_RUNTIME
export SLURM_TIME
fi
# Generate salloc arguments from SLURM_* environment variables # Generate salloc arguments from SLURM_* environment variables
SALLOC_OPTIONS=() SALLOC_OPTIONS=()
for E in $(env | grep -E "^SLURM_") for E in $(env | grep -E "^SLURM_")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment