use lockfile to prevent running gitlab-ci commands twice
Workaround for this bug: https://gitlab.com/gitlab-org/gitlab-runner/issues/1380#note_48552305
This commit is contained in:
parent
cbb63b4343
commit
4cd308deaa
|
|
@ -5,28 +5,34 @@ if [ "$CI_COMMIT_REF_NAME" == "upstream" ] || [ "$CI_COMMIT_REF_NAME" == "prist
|
|||
exit 0
|
||||
fi
|
||||
|
||||
set -e
|
||||
set -x
|
||||
# https://gitlab.com/gitlab-org/gitlab-runner/issues/1380#note_48552305
|
||||
lockfile=/.lock
|
||||
if [[ ! -f $lockfile ]] ; then
|
||||
set -e
|
||||
set -x
|
||||
|
||||
apt-get -qy update
|
||||
apt-get -qy dist-upgrade
|
||||
apt-get -qy update
|
||||
apt-get -qy dist-upgrade
|
||||
|
||||
cd $CI_PROJECT_DIR
|
||||
export BUILD_DEPENDS=`sed 's/\s*|[^,]*,/,/g' debian/control | perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p'`
|
||||
apt-get -qy install --no-install-recommends \
|
||||
build-essential dpkg-dev fakeroot git-buildpackage pristine-tar $BUILD_DEPENDS
|
||||
apt-get -qy autoremove --purge
|
||||
dpkg-checkbuilddeps
|
||||
echo "ensure pristine-tar branch exists"
|
||||
git branch -a
|
||||
git remote -v
|
||||
git branch --track pristine-tar origin/pristine-tar || true
|
||||
echo "make master branch current for gbp"
|
||||
git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
|
||||
if [ -z "$CI_COMMIT_TAG" ]; then
|
||||
gbp buildpackage -uc -us --git-debian-branch="$CI_COMMIT_REF_NAME"
|
||||
else
|
||||
gbp buildpackage -uc -us
|
||||
cd $CI_PROJECT_DIR
|
||||
export BUILD_DEPENDS=`sed 's/\s*|[^,]*,/,/g' debian/control | perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p'`
|
||||
apt-get -qy install --no-install-recommends \
|
||||
build-essential dpkg-dev fakeroot git-buildpackage pristine-tar $BUILD_DEPENDS
|
||||
apt-get -qy autoremove --purge
|
||||
dpkg-checkbuilddeps
|
||||
echo "ensure pristine-tar branch exists"
|
||||
git branch -a
|
||||
git remote -v
|
||||
git branch --track pristine-tar origin/pristine-tar || true
|
||||
echo "make master branch current for gbp"
|
||||
git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
|
||||
if [ -z "$CI_COMMIT_TAG" ]; then
|
||||
gbp buildpackage -uc -us --git-debian-branch="$CI_COMMIT_REF_NAME"
|
||||
else
|
||||
gbp buildpackage -uc -us
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ $CI ]] && touch $lockfile
|
||||
|
||||
exec "$@"
|
||||
|
|
|
|||
Loading…
Reference in New Issue