commit d5bb85938a28be816f3ec7ead1f01a4c88397650 parent 69f1478551e1880ec94a748898fdabe3419a9d90 Author: Christian Grothoff <christian@grothoff.org> Date: Mon, 19 Aug 2024 10:55:07 +0200 unify debian packaging logic Diffstat:
30 files changed, 64 insertions(+), 488 deletions(-)
diff --git a/contrib/ci/debian-package-job.sh b/contrib/ci/debian-package-job.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -exuo pipefail +# This file is in the public domain. +# Helper script to build the latest DEB packages in the container. +# Shared between various jobs. + +unset LD_LIBRARY_PATH + +# Install build-time dependencies. +# Update apt cache first +apt-get update +apt-get upgrade -y +mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control + +export VERSION="$(./contrib/ci/version.sh)" +echo "Building package version ${VERSION}" +EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" +./bootstrap +dpkg-buildpackage -rfakeroot -b -uc -us + +ls -alh ../*.deb +mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment +mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ diff --git a/contrib/ci/jobs/000-codespell/job.sh b/contrib/ci/jobs/000-codespell/job.sh @@ -1,107 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -skip=$(cat <<EOF -ABOUT-NLS -*/afl-tests/* -**/auditor/*.sql -**/templating/test-specs/* -*.bbl -*.bib -*build-aux* -*.bst -*.cache/* -*/cbdc-es.tex -*/cbdc-it.tex -*.cls -configure* -config.status -config.guess -./src/include/taler_dbevents.h -*/contrib/* -*/contrib/hellos/** -*.dat -*.deflate -*.doc -*/doc/* -**/doc/flows/main.de.tex -*/doc/texinfo.tex -*.docx -*.ecc -*.eot -*.epgz -*.eps -*.epub -**/ExchangeSelection/example.ts -*.fee -*.fees -*.file -**/fonts/** -*.gif -*/.git/** -*.gz -*/i18n/strings.ts -*.info -*.jpeg -*.jpg -*.??.json -*.json -*/keys/* -*key -*.latexmkrc -*libtool* -*.log -*/m4/* -*.m4 -**/*.map -*.min.js -*.mp4 -*.odg -*.ods -*.odt -*.pack.js -*.pdf -*.png -*.PNG -**/pnpm-lock.yaml -*.po -*.pptx -*.priv -**/rfc.bib -*.rpath -**/signing-key.asc -*.sqlite -*/src/anastasis-data.ts -**/*.svg -*.svg -*.tag -**/templating/mustach** -*/templating/test?/** -*/testcurl/test_tricky.c -*/debian/tmp/** -*/debian/taler-exchange/** -*/debian/.debhelper/** -*/debian/autoreconf.before -*/debian/autoreconf.after -debian/taler-terms-generator/**/* -taler-terms-generator -*.tgz -*.ttf -*.ttf -**/valgrind.h -*/vpn/tests/** -*.wav -*.woff -*.woff2 -*.xcf -*.xlsx -*.zkey -release-artifacts -EOF -); - -echo Current directory: `pwd` - -codespell -I "${job_dir}"/dictionary.txt -S ${skip//$'\n'/,} +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/002-test/job.sh b/contrib/ci/jobs/002-test/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/test.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/003-docs/job.sh b/contrib/ci/jobs/003-docs/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/docs.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/100-build-debian-bookworm-amd64-gen/job.sh b/contrib/ci/jobs/100-build-debian-bookworm-amd64-gen/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/job.sh b/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/job.sh @@ -1,23 +0,0 @@ -#!/bin/bash -set -exuo pipefail -# This file is in the public domain. -# Helper script to build the latest DEB packages in the container. - - -unset LD_LIBRARY_PATH - -# Install build-time dependencies. -# Update apt cache first -apt-get update -apt-get upgrade -y -mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control - -export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)" -echo "Building package version ${VERSION}" -EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" -./bootstrap -dpkg-buildpackage -rfakeroot -b -uc -us - -ls -alh ../*.deb -mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment -mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ diff --git a/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/version.sh b/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/version.sh @@ -1,17 +0,0 @@ -#!/bin/sh -set -ex - -BRANCH=$(git name-rev --name-only HEAD) -if [ -z "${BRANCH}" ]; then - exit 1 -else - # "Unshallow" our checkout, but only our current branch, and exclude the submodules. - git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" - RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) - commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" - if [ "${commits}" = "0" ]; then - git describe --tag HEAD | sed -r 's/^v//' || exit 1 - else - echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) - fi -fi diff --git a/contrib/ci/jobs/102-upload-debian-bookworm-amd64-gen/job.sh b/contrib/ci/jobs/102-upload-debian-bookworm-amd64-gen/job.sh @@ -1,18 +1,2 @@ #!/bin/bash -set -exuo pipefail - -ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb" -RELEASE_ARTIFACT_DIR="${RELEASE_ARTIFACT_DIR:-"$(dirname $0)/../../../../release-artifacts"}" - -if [[ -d "$RELEASE_ARTIFACT_DIR" ]]; then - rsync -vP $ARTIFACT_PATH $RELEASE_ARTIFACT_DIR -else - RSYNC_HOST=${RSYNC_HOST:-"taler.host.internal"} - RSYNC_PORT=${RSYNC_PORT:-424242} - RSYNC_PATH=${RSYNC_PATH:-"incoming_packages/bookworm-taler-ci/"} - RSYNC_DEST=${RSYNC_DEST:-"rsync://${RSYNC_HOST}/${RSYNC_PATH}"} - - rsync -vP \ - --port ${RSYNC_PORT} \ - ${ARTIFACT_PATH} ${RSYNC_DEST} -fi; +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/105-build-debian-bookworm-arm64-gen/job.sh b/contrib/ci/jobs/105-build-debian-bookworm-arm64-gen/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/job.sh b/contrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/job.sh @@ -1,23 +1,2 @@ #!/bin/bash -set -exuo pipefail -# This file is in the public domain. -# Helper script to build the latest DEB packages in the container. - - -unset LD_LIBRARY_PATH - -# Install build-time dependencies. -# Update apt cache first -apt-get update -apt-get upgrade -y -mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control - -export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)" -echo "Building package version ${VERSION}" -EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" -./bootstrap -dpkg-buildpackage -rfakeroot -b -uc -us - -ls -alh ../*.deb -mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment -mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/version.sh b/contrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/version.sh @@ -1,17 +0,0 @@ -#!/bin/sh -set -ex - -BRANCH=$(git name-rev --name-only HEAD) -if [ -z "${BRANCH}" ]; then - exit 1 -else - # "Unshallow" our checkout, but only our current branch, and exclude the submodules. - git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" - RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) - commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" - if [ "${commits}" = "0" ]; then - git describe --tag HEAD | sed -r 's/^v//' || exit 1 - else - echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) - fi -fi diff --git a/contrib/ci/jobs/107-upload-debian-bookworm-arm64-gen/job.sh b/contrib/ci/jobs/107-upload-debian-bookworm-arm64-gen/job.sh @@ -1,18 +1,2 @@ #!/bin/bash -set -exuo pipefail - -ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb" -RELEASE_ARTIFACT_DIR="${RELEASE_ARTIFACT_DIR:-"$(dirname $0)/../../../../release-artifacts"}" - -if [[ -d "$RELEASE_ARTIFACT_DIR" ]]; then - rsync -vP $ARTIFACT_PATH $RELEASE_ARTIFACT_DIR -else - RSYNC_HOST=${RSYNC_HOST:-"taler.host.internal"} - RSYNC_PORT=${RSYNC_PORT:-424242} - RSYNC_PATH=${RSYNC_PATH:-"incoming_packages/bookworm-taler-ci/"} - RSYNC_DEST=${RSYNC_DEST:-"rsync://${RSYNC_HOST}/${RSYNC_PATH}"} - - rsync -vP \ - --port ${RSYNC_PORT} \ - ${ARTIFACT_PATH} ${RSYNC_DEST} -fi; +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/110-build-debian-trixie-amd64-gen/job.sh b/contrib/ci/jobs/110-build-debian-trixie-amd64-gen/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/job.sh b/contrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/job.sh @@ -1,23 +1,2 @@ #!/bin/bash -set -exuo pipefail -# This file is in the public domain. -# Helper script to build the latest DEB packages in the container. - - -unset LD_LIBRARY_PATH - -# Install build-time dependencies. -# Update apt cache first -apt-get update -apt-get upgrade -y -mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control - -export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)" -echo "Building package version ${VERSION}" -EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" -./bootstrap -dpkg-buildpackage -rfakeroot -b -uc -us - -ls -alh ../*.deb -mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment -mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/version.sh b/contrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/version.sh @@ -1,17 +0,0 @@ -#!/bin/sh -set -ex - -BRANCH=$(git name-rev --name-only HEAD) -if [ -z "${BRANCH}" ]; then - exit 1 -else - # "Unshallow" our checkout, but only our current branch, and exclude the submodules. - git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" - RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) - commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" - if [ "${commits}" = "0" ]; then - git describe --tag HEAD | sed -r 's/^v//' || exit 1 - else - echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) - fi -fi diff --git a/contrib/ci/jobs/112-upload-debian-trixie-amd64-gen/job.sh b/contrib/ci/jobs/112-upload-debian-trixie-amd64-gen/job.sh @@ -1,18 +1,2 @@ #!/bin/bash -set -exuo pipefail - -ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb" -RELEASE_ARTIFACT_DIR="${RELEASE_ARTIFACT_DIR:-"$(dirname $0)/../../../../release-artifacts"}" - -if [[ -d "$RELEASE_ARTIFACT_DIR" ]]; then - rsync -vP $ARTIFACT_PATH $RELEASE_ARTIFACT_DIR -else - RSYNC_HOST=${RSYNC_HOST:-"taler.host.internal"} - RSYNC_PORT=${RSYNC_PORT:-424242} - RSYNC_PATH=${RSYNC_PATH:-"incoming_packages/trixie-taler-ci/"} - RSYNC_DEST=${RSYNC_DEST:-"rsync://${RSYNC_HOST}/${RSYNC_PATH}"} - - rsync -vP \ - --port ${RSYNC_PORT} \ - ${ARTIFACT_PATH} ${RSYNC_DEST} -fi; +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/115-build-debian-trixie-arm64-gen/job.sh b/contrib/ci/jobs/115-build-debian-trixie-arm64-gen/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/job.sh b/contrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/job.sh @@ -1,23 +1,2 @@ #!/bin/bash -set -exuo pipefail -# This file is in the public domain. -# Helper script to build the latest DEB packages in the container. - - -unset LD_LIBRARY_PATH - -# Install build-time dependencies. -# Update apt cache first -apt-get update -apt-get upgrade -y -mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control - -export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)" -echo "Building package version ${VERSION}" -EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" -./bootstrap -dpkg-buildpackage -rfakeroot -b -uc -us - -ls -alh ../*.deb -mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment -mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/version.sh b/contrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/version.sh @@ -1,17 +0,0 @@ -#!/bin/sh -set -ex - -BRANCH=$(git name-rev --name-only HEAD) -if [ -z "${BRANCH}" ]; then - exit 1 -else - # "Unshallow" our checkout, but only our current branch, and exclude the submodules. - git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" - RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) - commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" - if [ "${commits}" = "0" ]; then - git describe --tag HEAD | sed -r 's/^v//' || exit 1 - else - echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) - fi -fi diff --git a/contrib/ci/jobs/117-upload-debian-trixie-arm64-gen/job.sh b/contrib/ci/jobs/117-upload-debian-trixie-arm64-gen/job.sh @@ -1,18 +1,2 @@ #!/bin/bash -set -exuo pipefail - -ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb" -RELEASE_ARTIFACT_DIR="${RELEASE_ARTIFACT_DIR:-"$(dirname $0)/../../../../release-artifacts"}" - -if [[ -d "$RELEASE_ARTIFACT_DIR" ]]; then - rsync -vP $ARTIFACT_PATH $RELEASE_ARTIFACT_DIR -else - RSYNC_HOST=${RSYNC_HOST:-"taler.host.internal"} - RSYNC_PORT=${RSYNC_PORT:-424242} - RSYNC_PATH=${RSYNC_PATH:-"incoming_packages/trixie-taler-ci/"} - RSYNC_DEST=${RSYNC_DEST:-"rsync://${RSYNC_HOST}/${RSYNC_PATH}"} - - rsync -vP \ - --port ${RSYNC_PORT} \ - ${ARTIFACT_PATH} ${RSYNC_DEST} -fi; +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/120-build-debian-unstable-amd64-gen/job.sh b/contrib/ci/jobs/120-build-debian-unstable-amd64-gen/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/job.sh b/contrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/job.sh @@ -1,23 +1,2 @@ #!/bin/bash -set -exuo pipefail -# This file is in the public domain. -# Helper script to build the latest DEB packages in the container. - - -unset LD_LIBRARY_PATH - -# Install build-time dependencies. -# Update apt cache first -apt-get update -apt-get upgrade -y -mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control - -export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)" -echo "Building package version ${VERSION}" -EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" -./bootstrap -dpkg-buildpackage -rfakeroot -b -uc -us - -ls -alh ../*.deb -mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment -mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/version.sh b/contrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/version.sh @@ -1,17 +0,0 @@ -#!/bin/sh -set -ex - -BRANCH=$(git name-rev --name-only HEAD) -if [ -z "${BRANCH}" ]; then - exit 1 -else - # "Unshallow" our checkout, but only our current branch, and exclude the submodules. - git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" - RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) - commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" - if [ "${commits}" = "0" ]; then - git describe --tag HEAD | sed -r 's/^v//' || exit 1 - else - echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) - fi -fi diff --git a/contrib/ci/jobs/122-upload-debian-unstable-amd64-gen/job.sh b/contrib/ci/jobs/122-upload-debian-unstable-amd64-gen/job.sh @@ -1,18 +1,2 @@ #!/bin/bash -set -exuo pipefail - -ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb" -RELEASE_ARTIFACT_DIR="${RELEASE_ARTIFACT_DIR:-"$(dirname $0)/../../../../release-artifacts"}" - -if [[ -d "$RELEASE_ARTIFACT_DIR" ]]; then - rsync -vP $ARTIFACT_PATH $RELEASE_ARTIFACT_DIR -else - RSYNC_HOST=${RSYNC_HOST:-"taler.host.internal"} - RSYNC_PORT=${RSYNC_PORT:-424242} - RSYNC_PATH=${RSYNC_PATH:-"incoming_packages/unstable-taler-ci/"} - RSYNC_DEST=${RSYNC_DEST:-"rsync://${RSYNC_HOST}/${RSYNC_PATH}"} - - rsync -vP \ - --port ${RSYNC_PORT} \ - ${ARTIFACT_PATH} ${RSYNC_DEST} -fi; +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/125-build-debian-unstable-arm64-gen/job.sh b/contrib/ci/jobs/125-build-debian-unstable-arm64-gen/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/job.sh b/contrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/job.sh @@ -1,23 +1,2 @@ #!/bin/bash -set -exuo pipefail -# This file is in the public domain. -# Helper script to build the latest DEB packages in the container. - - -unset LD_LIBRARY_PATH - -# Install build-time dependencies. -# Update apt cache first -apt-get update -apt-get upgrade -y -mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control - -export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)" -echo "Building package version ${VERSION}" -EMAIL=none gbp dch --dch-opt=-b --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}" -./bootstrap -dpkg-buildpackage -rfakeroot -b -uc -us - -ls -alh ../*.deb -mkdir -p /artifacts/exchange/${CI_COMMIT_REF} # Variable comes from CI environment -mv ../*.deb /artifacts/exchange/${CI_COMMIT_REF}/ +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/version.sh b/contrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/version.sh @@ -1,17 +0,0 @@ -#!/bin/sh -set -ex - -BRANCH=$(git name-rev --name-only HEAD) -if [ -z "${BRANCH}" ]; then - exit 1 -else - # "Unshallow" our checkout, but only our current branch, and exclude the submodules. - git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" - RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) - commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" - if [ "${commits}" = "0" ]; then - git describe --tag HEAD | sed -r 's/^v//' || exit 1 - else - echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) - fi -fi diff --git a/contrib/ci/jobs/127-upload-debian-unstable-arm64-gen/job.sh b/contrib/ci/jobs/127-upload-debian-unstable-arm64-gen/job.sh @@ -1,18 +1,2 @@ #!/bin/bash -set -exuo pipefail - -ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb" -RELEASE_ARTIFACT_DIR="${RELEASE_ARTIFACT_DIR:-"$(dirname $0)/../../../../release-artifacts"}" - -if [[ -d "$RELEASE_ARTIFACT_DIR" ]]; then - rsync -vP $ARTIFACT_PATH $RELEASE_ARTIFACT_DIR -else - RSYNC_HOST=${RSYNC_HOST:-"taler.host.internal"} - RSYNC_PORT=${RSYNC_PORT:-424242} - RSYNC_PATH=${RSYNC_PATH:-"incoming_packages/unstable-taler-ci/"} - RSYNC_DEST=${RSYNC_DEST:-"rsync://${RSYNC_HOST}/${RSYNC_PATH}"} - - rsync -vP \ - --port ${RSYNC_PORT} \ - ${ARTIFACT_PATH} ${RSYNC_DEST} -fi; +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/targets/debian/build/job.sh b/contrib/ci/targets/debian/build/job.sh @@ -1,6 +1,2 @@ #!/bin/bash -set -exuo pipefail - -job_dir=$(dirname "${BASH_SOURCE[0]}") - -"${job_dir}"/build.sh +exec ./contrib/ci/debian-package-job.sh diff --git a/contrib/ci/version.sh b/contrib/ci/version.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -ex +# This file is in the public domain. +# Determines the current version of our code. +# Shared between various jobs. + +BRANCH=$(git name-rev --name-only HEAD) +if [ -z "${BRANCH}" ]; then + exit 1 +else + # "Unshallow" our checkout, but only our current branch, and exclude the submodules. + git fetch --no-recurse-submodules --tags --depth=1000 origin "${BRANCH}" + RECENT_VERSION_TAG=$(git describe --tags --match 'v*.*.*' --exclude '*-dev*' --always --abbrev=0 HEAD || exit 1) + commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)" + if [ "${commits}" = "0" ]; then + git describe --tag HEAD | sed -r 's/^v//' || exit 1 + else + echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD) + fi +fi