3ed03bbecb
Zuul may not always have the commits needed for some jobs, and its branches may be in an unpredictable state, so only use zuul to fetch zuul refs. Re-set the origin to gerrit for any existing repos. Change-Id: Ia300922d2e1585dd8d73a2711a7a25f4f9edd0e1 Reviewed-on: https://review.openstack.org/18492 Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
50 lines
1008 B
Bash
Executable File
50 lines
1008 B
Bash
Executable File
#!/bin/bash -e
|
|
|
|
GERRIT_SITE=$1
|
|
ZUUL_SITE=$2
|
|
|
|
if [ -z "$GERRIT_SITE" ]
|
|
then
|
|
echo "The gerrit site name (eg 'https://review.openstack.org') must be the first argument."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$ZUUL_SITE" ]
|
|
then
|
|
echo "The zuul site name (eg 'http://zuul.openstack.org') must be the second argument."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$ZUUL_REF" ]
|
|
then
|
|
echo "This job may only be triggered by Zuul."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -z "$ZUUL_CHANGE" ]
|
|
then
|
|
echo "Triggered by: $GERRIT_SITE/$ZUUL_CHANGE"
|
|
fi
|
|
|
|
set -x
|
|
if [[ ! -e .git ]]
|
|
then
|
|
git clone $GERRIT_SITE/p/$ZUUL_PROJECT .
|
|
fi
|
|
git remote set-url origin $GERRIT_SITE/p/$ZUUL_PROJECT
|
|
git remote update || git remote update # attempt to work around bug #925790
|
|
git reset --hard
|
|
git clean -x -f -d -q
|
|
|
|
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
|
|
else
|
|
git checkout $ZUUL_NEWREV
|
|
git reset --hard $ZUUL_NEWREV
|
|
git clean -x -f -d -q
|
|
fi
|