split out functionality from entrypoint into individual scripts
This commit is contained in:
parent
213709b138
commit
2caa367232
|
|
@ -25,12 +25,14 @@ RUN mkdir -p /usr/share/man/man1 \
|
|||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY gitlab-ci-git-buildpackage /
|
||||
COPY gitlab-ci-common /usr/share/
|
||||
COPY gitlab-ci-aptly /usr/bin/
|
||||
COPY gitlab-ci-autopkgtest /usr/bin/
|
||||
COPY gitlab-ci-entrypoint /usr/bin/
|
||||
COPY gitlab-ci-git-buildpackage /usr/bin/
|
||||
COPY gitlab-ci-git-buildpackage-all /usr/bin/
|
||||
COPY gitlab-ci-lintian /usr/bin/
|
||||
COPY gitlab-ci-enable-sid /usr/bin/
|
||||
COPY gitlab-ci-enable-experimental /usr/bin/
|
||||
|
||||
ENTRYPOINT ["/gitlab-ci-git-buildpackage"]
|
||||
ENTRYPOINT ["/usr/bin/gitlab-ci-entrypoint"]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
! test -z "$CI_COMMIT_REF_NAME"
|
||||
|
||||
if [ "$CI_COMMIT_REF_NAME" == "upstream" ] || [ "$CI_COMMIT_REF_NAME" == "pristine-tar" ]; then
|
||||
echo No builds run on the $CI_COMMIT_REF_NAME branch, exiting
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
|
@ -1,63 +1,37 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ "$CI_COMMIT_REF_NAME" == "upstream" ] || [ "$CI_COMMIT_REF_NAME" == "pristine-tar" ]; then
|
||||
echo No builds run on the $CI_COMMIT_REF_NAME branch, exiting
|
||||
exit 0
|
||||
fi
|
||||
#!/bin/bash -e
|
||||
|
||||
. /usr/share/gitlab-ci-common
|
||||
|
||||
# https://gitlab.com/gitlab-org/gitlab-runner/issues/1380#note_48552305
|
||||
lockfile=/.lock
|
||||
if [[ ! -f $lockfile ]] ; then
|
||||
set -e
|
||||
set -x
|
||||
# these are all required
|
||||
! test -z "$CI_PROJECT_DIR"
|
||||
! test -z "$CI_COMMIT_SHA"
|
||||
! test -z "$CI_COMMIT_TAG"
|
||||
! test -z "$CI_COMMIT_REF_NAME"
|
||||
|
||||
gitlab-ci-enable-sid
|
||||
gitlab-ci-enable-experimental
|
||||
set -x
|
||||
|
||||
if [ ! -z "$EXTRA_APT_SOURCE" ]; then
|
||||
printf "\n$EXTRA_APT_SOURCE\n" >> /etc/apt/sources.list
|
||||
fi
|
||||
$apt_get update
|
||||
|
||||
if [ ! -z "$DEBIAN_RELEASE" ]; then
|
||||
sed -i "s, testing , $DEBIAN_RELEASE ," /etc/apt/sources.list
|
||||
fi
|
||||
|
||||
$apt_get update
|
||||
$apt_get dist-upgrade
|
||||
|
||||
cd $CI_PROJECT_DIR
|
||||
if dpkg --compare-versions `dpkg -s apt |sed -n 's,^Version: \(.*\),\1,p'` ge 1.1; then
|
||||
$apt_get build-dep $CI_PROJECT_DIR
|
||||
else
|
||||
# this is running on an older version, like jessie-backports
|
||||
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 install --no-install-recommends \
|
||||
build-essential fakeroot git-buildpackage pristine-tar $BUILD_DEPENDS
|
||||
fi
|
||||
$apt_get autoremove --purge
|
||||
dpkg-checkbuilddeps
|
||||
echo "ensure pristine-tar branch exists and is current"
|
||||
git clean -fdx
|
||||
git reset --hard
|
||||
git fetch --all
|
||||
git checkout -B pristine-tar origin/pristine-tar
|
||||
echo "make $CI_COMMIT_REF_NAME 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
|
||||
|
||||
gitlab-ci-lintian
|
||||
|
||||
if [ -e $CI_PROJECT_DIR/debian/tests/control ]; then
|
||||
gitlab-ci-autopkgtest
|
||||
fi
|
||||
cd $CI_PROJECT_DIR
|
||||
if dpkg --compare-versions `dpkg -s apt |sed -n 's,^Version: \(.*\),\1,p'` ge 1.1; then
|
||||
$apt_get build-dep $CI_PROJECT_DIR
|
||||
else
|
||||
# this is running on an older version, like jessie-backports
|
||||
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 install --no-install-recommends \
|
||||
build-essential fakeroot git-buildpackage pristine-tar $BUILD_DEPENDS
|
||||
fi
|
||||
$apt_get autoremove --purge
|
||||
dpkg-checkbuilddeps
|
||||
echo "ensure pristine-tar branch exists and is current"
|
||||
git clean -fdx
|
||||
git reset --hard
|
||||
git fetch --all
|
||||
git checkout -B pristine-tar origin/pristine-tar
|
||||
echo "make $CI_COMMIT_REF_NAME 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
|
||||
|
||||
[[ $CI ]] && touch $lockfile
|
||||
|
||||
exec "$@"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. /usr/share/gitlab-ci-common
|
||||
|
||||
# these are all required
|
||||
! test -z "$CI_PROJECT_DIR"
|
||||
! test -z "$CI_COMMIT_SHA"
|
||||
! test -z "$CI_COMMIT_TAG"
|
||||
! test -z "$CI_COMMIT_REF_NAME"
|
||||
|
||||
set -x
|
||||
|
||||
gitlab-ci-enable-sid
|
||||
gitlab-ci-enable-experimental
|
||||
|
||||
$apt_get update
|
||||
$apt_get dist-upgrade
|
||||
|
||||
gitlab-ci-git-buildpackage
|
||||
gitlab-ci-lintian
|
||||
|
||||
if [ -e $CI_PROJECT_DIR/debian/tests/control ]; then
|
||||
gitlab-ci-autopkgtest
|
||||
fi
|
||||
Loading…
Reference in New Issue