X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fjjb-verify-job.sh;h=7d679bd1e1b48cde86c1e1707e4b719569bbb680;hb=b9eb4581940562effcf67863704a3ec2c47ceca0;hp=add393783e563e866b6a3a867f41fc09644c216b;hpb=acb1db1cf0efbeea7540866b500657d3dec935ce;p=releng%2Fglobal-jjb.git diff --git a/shell/jjb-verify-job.sh b/shell/jjb-verify-job.sh index add39378..7d679bd1 100644 --- a/shell/jjb-verify-job.sh +++ b/shell/jjb-verify-job.sh @@ -10,26 +10,35 @@ ############################################################################## echo "---> jjb-verify-job.sh" -# Ensure we fail the job if any steps fail. -set -eu -o pipefail +set -eufo pipefail -jenkins-jobs -l DEBUG test --recursive -o archives/job-configs jjb/ +# shellcheck disable=SC1090 +source ~/lf-env.sh -# Sort job output into sub-directories. On large Jenkins systems that have -# many jobs archiving so many files into the same directory makes NGINX return -# the directory list slow. -pushd archives/job-configs -for letter in {a..z} -do - if [[ $(ls "$letter"* > /dev/null 2>&1) -eq 0 ]] - then - mkdir "$letter" - find . -maxdepth 1 -type f -name "$letter*" -exec mv {} "$letter" \; - fi -done -popd +lf-git-validate-jira-urls +lf-jjb-check-ascii -if [ ! -z "$(ls -A archives/job-configs)" ]; then - tar cvzf archives/job-configs.tar.gz archives/job-configs - rm -rf archives/job-configs -fi +lf-activate-venv jenkins-job-builder + +jenkins-jobs test --recursive -o archives/job-configs --config-xml jjb/ + +# Enable 'globbing' +set +f +# NGINX is very sluggish with directories containing large numbers of objects +# Add another directory level named {a..z} and move directories to them. +# Directories beginning with {0..9} or {A..Z} are left at the top level. +( cd archives/job-configs + for letter in {a..z}; do + if ls -d "$letter"* > /dev/null 2>&1; then + mkdir .tmp + mv "$letter"* .tmp + mv .tmp "$letter" + fi + done +) + +( cd archives + echo "INFO: Archiving $(find job-configs -name \*.xml | wc -l) job configurations" + tar -cJf job-configs.tar.xz job-configs + rm -rf job-configs +)