summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevan Carpenter <devan@taler.net>2024-01-15 14:33:29 -0500
committerDevan Carpenter <devan@taler.net>2024-01-15 14:36:29 -0500
commit47b9bcb44e280c6d56d2862d4181da21d3cbecf1 (patch)
treed37f8730b9b646be12a8b896572705ea44650884
parentcf610308e1ccaf8c8ae75cd5536430cd9543aff8 (diff)
downloadwallet-core-47b9bcb44e280c6d56d2862d4181da21d3cbecf1.tar.gz
wallet-core-47b9bcb44e280c6d56d2862d4181da21d3cbecf1.tar.bz2
wallet-core-47b9bcb44e280c6d56d2862d4181da21d3cbecf1.zip
ci: add debian package job for taler-wallet-cli
-rwxr-xr-xcontrib/ci/jobs/3-deb-package/job.sh33
-rwxr-xr-xcontrib/ci/jobs/3-deb-package/version.sh17
2 files changed, 50 insertions, 0 deletions
diff --git a/contrib/ci/jobs/3-deb-package/job.sh b/contrib/ci/jobs/3-deb-package/job.sh
new file mode 100755
index 000000000..1bd7f80a2
--- /dev/null
+++ b/contrib/ci/jobs/3-deb-package/job.sh
@@ -0,0 +1,33 @@
+#!/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
+
+# gbp wants the debian directory in the root of the git repo
+# so we symlink in the debian directory for the package we want to create
+rm -f ./debian # in case we already have a symlink there
+ln -s packages/taler-wallet-cli/debian .
+
+# Change to our package directory
+cd packages/taler-wallet-cli
+
+# 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/3-deb-package/version.sh)"
+echo "Building package version ${VERSION}"
+
+EMAIL=none gbp dch --ignore-branch --debian-tag="%(version)s" --git-author --new-version="${VERSION}"
+echo "Current PWD is $PWD"
+./configure --prefix=$HOME/local/
+dpkg-buildpackage -rfakeroot -b -uc -us
+
+ls -alh ../*.deb
+mkdir -p /artifacts/wallet-core/${CI_COMMIT_REF} # Variable comes from CI environment
+mv ../*.deb /artifacts/wallet-core/${CI_COMMIT_REF}/
diff --git a/contrib/ci/jobs/3-deb-package/version.sh b/contrib/ci/jobs/3-deb-package/version.sh
new file mode 100755
index 000000000..d2647785e
--- /dev/null
+++ b/contrib/ci/jobs/3-deb-package/version.sh
@@ -0,0 +1,17 @@
+#!/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*.*.*' --always --abbrev=0 HEAD || exit 1)
+ commits="$(git rev-list ${RECENT_VERSION_TAG}..HEAD --count)"
+ if [ "${commits}" = "0" ]; then
+ git describe --tag HEAD || exit 1
+ else
+ echo $(echo ${RECENT_VERSION_TAG} | sed -r 's/^v//')-${commits}-$(git rev-parse --short=8 HEAD)
+ fi
+fi