diff --git a/Dockerfile b/Dockerfile index 9c8cf15..12da209 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,6 +27,7 @@ RUN mkdir -p /usr/share/man/man1 \ COPY gitlab-ci-git-buildpackage / COPY gitlab-ci-common /usr/share/ +COPY gitlab-ci-aptly /usr/bin/ COPY gitlab-ci-enable-sid /usr/bin/ COPY gitlab-ci-enable-experimental /usr/bin/ diff --git a/gitlab-ci-aptly b/gitlab-ci-aptly new file mode 100755 index 0000000..f9bd732 --- /dev/null +++ b/gitlab-ci-aptly @@ -0,0 +1,44 @@ +#!/bin/bash -e + +. /usr/share/gitlab-ci-common + +# these are all required +! test -z "$CI_PROJECT_URL" +! test -z "$CI_JOB_ID" +! test -z "$CI_COMMIT_SHA" +! test -z "$CI_COMMIT_REF_NAME" + +if [ "$CI_JOB_NAME" != "pages" ]; then + echo "$0 must be run in a job called 'pages'!" + exit 1 +fi + +if [ "$CI_JOB_STAGE" != "deploy" ]; then + echo "$0 must be run in a job in the 'deploy' stage!" + exit 1 +fi + +JOB_URL="$CI_PROJECT_URL/-/jobs/$CI_JOB_ID" +COMMIT_URL="$CI_PROJECT_URL/commit/$CI_COMMIT_SHA" +BRANCH_URL="$CI_PROJECT_URL/commits/$CI_COMMIT_REF_NAME" + +# build apt repo from freshly built .debs +$apt_get update +$apt_get install --no-install-recommends aptly +aptly repo create autobuilt || true +aptly repo add autobuilt ../*.deb +DEB_BUILD_ARCH=`dpkg --print-architecture` +aptly publish repo --skip-signing --distribution autobuilt --architectures all,$DEB_BUILD_ARCH autobuilt \ + || aptly publish update --skip-signing --architectures all,$DEB_BUILD_ARCH autobuilt + +rm -rf public +cp -a ~/.aptly/public public + # ease debugging since directory indices are disabled +cd public +printf "apt source for %s

" $CI_PROJECT_PATH > index.html +date >> index.html +printf '

\n' $JOB_URL $JOB_URL >> index.html +find | xargs printf "%s
\n" >> index.html +echo "" >> index.html