Chore: Upgrade Jenkins-job-builder to 6.3.0
[releng/global-jjb.git] / shell / jjb-deploy-job.sh
index c7b8d8d..dff7082 100644 (file)
 echo "---> jjb-deploy-job.sh"
 
 # Ensure we fail the job if any steps fail.
-set -e -o pipefail
+set -uef -o pipefail
 
-# shellcheck source=/tmp/v/jenkins-job-builder/bin/activate disable=SC1091
-source "/tmp/v/jenkins-job-builder/bin/activate"
+# shellcheck disable=SC1090
+source ~/lf-env.sh
 
-echo "-----> Fetching project"
-git fetch origin "$GERRIT_REFSPEC" && git checkout FETCH_HEAD
+# Version controlled by JJB_VERSION
+lf-activate-venv --python python3 --venv-file /tmp/.jjb_venv jenkins-job-builder setuptools==65.7.0
+
+# Fetch patch if gerrit project matches the jjb-deploy project
+if [ "${GERRIT_PROJECT}" == "${PROJECT}" ]; then
+    echo "-----> Fetching ${PROJECT} patch"
+    git fetch origin "$GERRIT_REFSPEC" && git checkout FETCH_HEAD
+    git submodule update --init --recursive
+fi
 
 # If not Gerrit Trigger than assume GitHub
 COMMENT="${GERRIT_EVENT_COMMENT_TEXT:-$ghprbCommentBody}"
 JOB_NAME=$(echo "$COMMENT" | grep jjb-deploy | awk '{print $2}')
 
 # Strip all * characters to prevent pushing all jobs to Jenkins
-if [ -z "${JOB_NAME//*/}" ]; then
+if [ -z "${JOB_NAME//\*/}" ]; then
     echo "ERROR: JOB_NAME cannot be empty or '*'."
     exit 1
 fi
 
-jenkins-jobs update --recursive --workers 4 jjb/ "$JOB_NAME"
+echo "Deploying Job $JOB_NAME to sandbox"
+jenkins-jobs -s sandbox update --jobs-only --recursive --workers 4 jjb/ "$JOB_NAME"