diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2018-05-24 12:02:41 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2018-05-28 19:37:55 +0000 |
commit | 1acee3154967a5842b5778ea2576b8bad63b0364 (patch) | |
tree | 16e265816ebbbce6d521c68ce3ba33ae86e0bd2c /jenkins.sh | |
parent | 5ec8f5ba191a8d81e2271b80c8c7993550f57519 (diff) |
jenkins.sh: grep in artifact_list only if it exists
It some cases of early build errors, the artifact_list files do not
exist yet, making grep fail.
This is causing trouble where the Jenkins job does not complete until
it times out.
For instance the console ends with:
ERROR (#118): perform_build_steps (Step CHECKOUT failed)
ERROR (#307): build_failure (Build process failed after 1 minutes)
+ jenkins.sh: 1: exit_handler
+ jenkins.sh: exit_handler : 111: true
+ jenkins.sh: exit_handler : 112: upload_to_logserver
+ jenkins.sh: upload_to_logserver : 44: test xdev-01.tcwglab '!=' x
++ jenkins.sh: upload_to_logserver : 45: mktemp -d
+ jenkins.sh: upload_to_logserver : 45: logs_dir=/tmp/tmp.KzE4tbrB88
+ jenkins.sh: upload_to_logserver : 46: sums=
+ jenkins.sh: upload_to_logserver : 49: ssh dev-01.tcwglab mkdir -p '/home/tcwg-buildslave/logs/tcwg-backport-65ff96d8ab4119c637655776aa3df4d3a8131ce5^/0d431ccd6cc23cb1bd5153c6d4ea2c06b039b6c2/x86_64.aarch64-linux-gnu'
+ jenkins.sh: upload_to_logserver : 52: makelog_list=($(read_var ${user_workspace}/build-artifacts.txt 'log_make_[^=]*'))
++ jenkins.sh: upload_to_logserver : 52: read_var /home/tcwg-buildslave/workspace/tcwg-buildfarm/aarch64-linux-gnu/build-artifacts.txt 'log_make_[^=]*'
++ jenkins.sh: read_var : 37: local artifact_list=/home/tcwg-buildslave/workspace/tcwg-buildfarm/aarch64-linux-gnu/build-artifacts.txt
++ jenkins.sh: read_var : 38: local 'var=log_make_[^=]*'
++ jenkins.sh: read_var : 39: grep '^log_make_[^=]*=' /home/tcwg-buildslave/workspace/tcwg-buildfarm/aarch64-linux-gnu/build-artifacts.txt
++ jenkins.sh: read_var : 39: cut -d = -f 2-
grep: /home/tcwg-buildslave/workspace/tcwg-buildfarm/aarch64-linux-gnu/build-artifacts.txt: No such file or directory
and gets stuck here because there is still a background process
waiting for the lock.
This patch is an attempt to avoid that.
Change-Id: I38dff9877bdb6e844bb59859383f1aa0110b1e68
Diffstat (limited to 'jenkins.sh')
-rwxr-xr-x | jenkins.sh | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -36,7 +36,11 @@ read_var() { local artifact_list=$1 local var=$2 - grep "^${var}=" "${artifact_list}" | cut -d = -f 2- + if [ -f "${artifact_list}" ]; then + grep "^${var}=" "${artifact_list}" | cut -d = -f 2- + else + echo "" + fi } upload_to_logserver() |