diff options
Diffstat (limited to 'tcwg-report-stale-rr-jobs.sh')
-rwxr-xr-x | tcwg-report-stale-rr-jobs.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tcwg-report-stale-rr-jobs.sh b/tcwg-report-stale-rr-jobs.sh new file mode 100755 index 00000000..fa57fb5d --- /dev/null +++ b/tcwg-report-stale-rr-jobs.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -euf -o pipefail + +scripts=$(dirname "$0") +# shellcheck source=jenkins-helpers.sh +. "$scripts/jenkins-helpers.sh" + +convert_args_to_variables "$@" + +days="${days-10}" +refs_url="${refs_url-https://git.linaro.org/toolchain/ci/base-artifacts}" +refs_prefix="${refs_prefix-refs/heads/linaro-local/ci/}" +verbose="${verbose-false}" + +if $verbose; then + set -x +fi + +# Initialize base-artifacts repo (by cloning its "empty" branch). +refs_repo=$(basename "$refs_url" .git) +clone_or_update_repo_no_checkout "$refs_repo" "$refs_url" none empty origin >/dev/null 2>&1 +git -C "$refs_repo" reset --hard >/dev/null 2>&1 + +# Walk through all commits of all tcwg_bmk* branches and mark results +# referenced in those results with "used_by" file. +while IFS= read -r ref; do + git -C "$refs_repo" fetch -q origin "$ref" + commit_stamp=$(git -C "$refs_repo" show --no-patch --pretty=%ct FETCH_HEAD) + if [ $(($(date +%s) - $commit_stamp)) -gt $(($days * 24 * 3600)) ]; then + echo "${ref#$refs_prefix}" + fi +done < <(git ls-remote "$refs_url" "${refs_prefix}*" | awk '{ print $2 }') |