aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorStefan Kügel <skuegel@web.de>2024-08-20 09:09:12 +0200
committerStefan Kügel <skuegel@web.de>2024-08-20 09:09:12 +0200
commit1b7f10be69cba8903248fde3536c6ed29b9d27fb (patch)
treef3446863fa80568874f5ee109f20ed783abc0dd8 /contrib
parent8e0c127e916906477568e5ecd145d3ce49c90535 (diff)
parent1f5879829240ec9eef69f31d5e0c301e2ec18411 (diff)
Merge branch 'master' of git+ssh://git.taler.net/exchange
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/ci/debian-package-job.sh (renamed from contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/job.sh)4
-rwxr-xr-xcontrib/ci/jobs/000-codespell/job.sh107
-rwxr-xr-xcontrib/ci/jobs/002-test/job.sh6
-rwxr-xr-xcontrib/ci/jobs/003-docs/job.sh6
-rwxr-xr-xcontrib/ci/jobs/100-build-debian-bookworm-amd64-gen/job.sh6
-rwxr-xr-xcontrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/version.sh17
-rwxr-xr-xcontrib/ci/jobs/102-upload-debian-bookworm-amd64-gen/job.sh18
-rwxr-xr-xcontrib/ci/jobs/105-build-debian-bookworm-arm64-gen/job.sh6
-rwxr-xr-xcontrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/job.sh23
-rwxr-xr-xcontrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/version.sh17
-rwxr-xr-xcontrib/ci/jobs/107-upload-debian-bookworm-arm64-gen/job.sh18
-rwxr-xr-xcontrib/ci/jobs/110-build-debian-trixie-amd64-gen/job.sh6
-rwxr-xr-xcontrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/job.sh23
-rwxr-xr-xcontrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/version.sh17
-rwxr-xr-xcontrib/ci/jobs/112-upload-debian-trixie-amd64-gen/job.sh18
-rwxr-xr-xcontrib/ci/jobs/115-build-debian-trixie-arm64-gen/job.sh6
-rwxr-xr-xcontrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/job.sh23
-rwxr-xr-xcontrib/ci/jobs/117-upload-debian-trixie-arm64-gen/job.sh18
-rwxr-xr-xcontrib/ci/jobs/120-build-debian-unstable-amd64-gen/job.sh6
-rwxr-xr-xcontrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/job.sh23
-rwxr-xr-xcontrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/version.sh17
-rwxr-xr-xcontrib/ci/jobs/122-upload-debian-unstable-amd64-gen/job.sh18
-rwxr-xr-xcontrib/ci/jobs/125-build-debian-unstable-arm64-gen/job.sh6
-rwxr-xr-xcontrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/job.sh23
-rwxr-xr-xcontrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/version.sh17
-rwxr-xr-xcontrib/ci/jobs/127-upload-debian-unstable-arm64-gen/job.sh18
-rwxr-xr-xcontrib/ci/targets/debian/build/job.sh6
-rwxr-xr-xcontrib/ci/version.sh (renamed from contrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/version.sh)3
28 files changed, 26 insertions, 450 deletions
diff --git a/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/job.sh b/contrib/ci/debian-package-job.sh
index 922f8bf63..afeeff3ce 100755
--- a/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/job.sh
+++ b/contrib/ci/debian-package-job.sh
@@ -2,7 +2,7 @@
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
@@ -12,7 +12,7 @@ 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)"
+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
diff --git a/contrib/ci/jobs/000-codespell/job.sh b/contrib/ci/jobs/000-codespell/job.sh
index 5b73aabf3..3270feb65 100755
--- 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
index bfb24e335..3270feb65 100755
--- 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
index a72bca4ba..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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/version.sh b/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/version.sh
deleted file mode 100755
index 52031b23a..000000000
--- a/contrib/ci/jobs/101-deb-package-debian-bookworm-amd64-gen/version.sh
+++ /dev/null
@@ -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
index bc77ef954..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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
index 922f8bf63..3270feb65 100755
--- 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
deleted file mode 100755
index 52031b23a..000000000
--- a/contrib/ci/jobs/106-deb-package-debian-bookworm-arm64-gen/version.sh
+++ /dev/null
@@ -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
index bc77ef954..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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
index 922f8bf63..3270feb65 100755
--- 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
deleted file mode 100755
index 52031b23a..000000000
--- a/contrib/ci/jobs/111-deb-package-debian-trixie-amd64-gen/version.sh
+++ /dev/null
@@ -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
index 4793d5bb1..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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
index 922f8bf63..3270feb65 100755
--- 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/117-upload-debian-trixie-arm64-gen/job.sh b/contrib/ci/jobs/117-upload-debian-trixie-arm64-gen/job.sh
index 4793d5bb1..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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
index 922f8bf63..3270feb65 100755
--- 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
deleted file mode 100755
index 52031b23a..000000000
--- a/contrib/ci/jobs/121-deb-package-debian-unstable-amd64-gen/version.sh
+++ /dev/null
@@ -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
index ac6c27e56..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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
index 922f8bf63..3270feb65 100755
--- 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
deleted file mode 100755
index 52031b23a..000000000
--- a/contrib/ci/jobs/126-deb-package-debian-unstable-arm64-gen/version.sh
+++ /dev/null
@@ -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
index ac6c27e56..3270feb65 100755
--- 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
index 8d79902c5..3270feb65 100755
--- 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/jobs/116-deb-package-debian-trixie-arm64-gen/version.sh b/contrib/ci/version.sh
index 52031b23a..e98e5862e 100755
--- a/contrib/ci/jobs/116-deb-package-debian-trixie-arm64-gen/version.sh
+++ b/contrib/ci/version.sh
@@ -1,5 +1,8 @@
#!/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