From a86367a84db0d04bf83e14860d85b87c12dd6c56 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Wed, 27 Nov 2013 01:05:17 +0000 Subject: [PATCH] If running git clean after reset then retry * modules/jenkins/files/slave_scripts/gerrit-git-prep.sh * .../openstack_project/files/jenkins_job_builder/config/macros.yaml * .../infra-publications.yaml: If a git clean can not remove some files, for example because a previous command has not freed its open file handles, it will return nonzero. If this happens, wait a moment and try again in case this is only a briefly transient problem. Change-Id: If11320da7379c8fb8841b945067ce544188f5681 --- .../files/slave_scripts/gerrit-git-prep.sh | 15 ++++++++++++--- .../config/infra-publications.yaml | 5 ++++- .../files/jenkins_job_builder/config/macros.yaml | 10 ++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/modules/jenkins/files/slave_scripts/gerrit-git-prep.sh b/modules/jenkins/files/slave_scripts/gerrit-git-prep.sh index 818edfcaa5..098396a09c 100755 --- a/modules/jenkins/files/slave_scripts/gerrit-git-prep.sh +++ b/modules/jenkins/files/slave_scripts/gerrit-git-prep.sh @@ -52,16 +52,25 @@ then fi git reset --hard -git clean -x -f -d -q +if ! git clean -x -f -d -q ; then + sleep 1 + git clean -x -f -d -q +fi if [ -z "$ZUUL_NEWREV" ] then git fetch $ZUUL_SITE/p/$ZUUL_PROJECT $ZUUL_REF git checkout FETCH_HEAD git reset --hard FETCH_HEAD - git clean -x -f -d -q + if ! git clean -x -f -d -q ; then + sleep 1 + git clean -x -f -d -q + fi else git checkout $ZUUL_NEWREV git reset --hard $ZUUL_NEWREV - git clean -x -f -d -q + if ! git clean -x -f -d -q ; then + sleep 1 + git clean -x -f -d -q + fi fi diff --git a/modules/openstack_project/files/jenkins_job_builder/config/infra-publications.yaml b/modules/openstack_project/files/jenkins_job_builder/config/infra-publications.yaml index b32d162432..b1b0f08396 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/infra-publications.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/infra-publications.yaml @@ -26,7 +26,10 @@ - shell: | #!/bin/bash -xe git reset --hard remotes/origin/master - git clean -x -f -d -q + if ! git clean -x -f -d -q ; then + sleep 1 + git clean -x -f -d -q + fi ./make-index publishers: diff --git a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml index 1a783651bc..a7022e3711 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml @@ -188,10 +188,16 @@ git remote set-url origin https://review.openstack.org/p/openstack-infra/devstack-gate git remote update git reset --hard - git clean -x -f + if ! git clean -x -f ; then + sleep 1 + git clean -x -f + fi git checkout master git reset --hard remotes/origin/master - git clean -x -f + if ! git clean -x -f ; then + sleep 1 + git clean -x -f + fi cd .. fi