gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated (45e6947c -> c31eb9b3)


From: gnunet
Subject: [taler-exchange] branch master updated (45e6947c -> c31eb9b3)
Date: Wed, 13 Dec 2023 19:40:24 +0100

This is an automated email from the git hooks/post-receive script.

devan-carpenter pushed a change to branch master
in repository exchange.

    from 45e6947c -make doxygen happy about @file
     new 0609f1f2 ci: add package deploy job
     new 8803e416 ci: add script for running CI locally
     new cdc60c70 ci: update packages before build and test jobs
     new 832d2f4f ci: don't halt pipeline on docs or test failure
     new 9736882a ci: fixup debian packaging job
     new c31eb9b3 ci: squash deps packages into one apt cmd

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 contrib/ci/Containerfile                           | 22 +++++---------
 contrib/ci/ci.sh                                   | 34 ++++++++++++++++++++++
 contrib/ci/jobs/1-build/build.sh                   |  3 ++
 contrib/ci/jobs/{0-codespell => 2-test}/config.ini |  4 +--
 contrib/ci/jobs/2-test/test.sh                     |  3 ++
 contrib/ci/jobs/{0-codespell => 3-docs}/config.ini |  4 +--
 contrib/ci/jobs/4-deb-package/job.sh               | 21 +++++++------
 contrib/ci/jobs/4-deb-package/version.sh           | 17 +++++++++++
 contrib/ci/jobs/5-deploy-package/config.ini        |  5 ++++
 contrib/ci/jobs/5-deploy-package/job.sh            | 14 +++++++++
 10 files changed, 98 insertions(+), 29 deletions(-)
 create mode 100755 contrib/ci/ci.sh
 copy contrib/ci/jobs/{0-codespell => 2-test}/config.ini (53%)
 copy contrib/ci/jobs/{0-codespell => 3-docs}/config.ini (53%)
 create mode 100755 contrib/ci/jobs/4-deb-package/version.sh
 create mode 100644 contrib/ci/jobs/5-deploy-package/config.ini
 create mode 100755 contrib/ci/jobs/5-deploy-package/job.sh

diff --git a/contrib/ci/Containerfile b/contrib/ci/Containerfile
index b5f191ea..77239820 100644
--- a/contrib/ci/Containerfile
+++ b/contrib/ci/Containerfile
@@ -25,24 +25,18 @@ RUN apt-get update -yqq && \
                   python3-sphinx-rtd-theme \
                    recutils \
                    texinfo \
-                  zlib1g-dev
-
-# Debian packaging tools
-RUN apt-get install -yqq \
+                  zlib1g-dev \
+                   # Debian packaging tools \
                    po-debconf \
                    build-essential \
                    debhelper-compat \
-                   devscripts
-
-# Documentation dependencies
-RUN apt-get install -yqq \
-                   codespell \
+                   devscripts \
+                  git-buildpackage \
+                  # Documentation dependencies \
                    doxygen \
-                   graphviz
-
-# Test suite dependencies
-RUN apt-get install -yqq \
-                   jq \
+                   graphviz \
+                  # Test suite dependencies \
+                  jq \
                    postgresql \
                    sudo \
                    wget
diff --git a/contrib/ci/ci.sh b/contrib/ci/ci.sh
new file mode 100755
index 00000000..47c7a211
--- /dev/null
+++ b/contrib/ci/ci.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+set -exvuo pipefail
+
+# Use podman if available, otherwise use docker.
+# Fails if neither is found in PATH
+OCI_RUNTIME=$(which podman || which docker)
+REPO_NAME=$(basename "${PWD}")
+JOB_NAME="${1}"
+JOB_CONTAINER=$((grep CONTAINER_NAME contrib/ci/jobs/${JOB_NAME}/config.ini | 
cut -d' ' -f 3) || echo "${REPO_NAME}")
+JOB_ARCH=$((grep CONTAINER_ARCH contrib/ci/jobs/${JOB_NAME}/config.ini | cut 
-d' ' -f 3) || echo "${2:-amd64}")
+CONTAINER_BUILD=$((grep CONTAINER_BUILD contrib/ci/jobs/${JOB_NAME}/config.ini 
| cut -d' ' -f 3) || echo "True")
+
+echo "${JOB_CONTAINER}"
+
+if [ "${CONTAINER_BUILD}" = "True" ] ; then
+       "${OCI_RUNTIME}" build \
+               --arch "${JOB_ARCH}" \
+               -t "${JOB_CONTAINER}" \
+               -f contrib/ci/Containerfile .
+fi
+
+"${OCI_RUNTIME}" run \
+       --rm \
+       -ti \
+       --arch "${JOB_ARCH}" \
+       --env CI_COMMIT_REF="$(git rev-parse HEAD)" \
+       --volume "${PWD}":/workdir \
+       --workdir /workdir \
+       "${JOB_CONTAINER}" \
+       contrib/ci/jobs/"${JOB_NAME}"/job.sh
+
+top_dir=$(dirname "${BASH_SOURCE[0]}")
+
+#"${top_dir}"/build.sh
diff --git a/contrib/ci/jobs/1-build/build.sh b/contrib/ci/jobs/1-build/build.sh
index b1137429..35faf0ac 100755
--- a/contrib/ci/jobs/1-build/build.sh
+++ b/contrib/ci/jobs/1-build/build.sh
@@ -1,6 +1,9 @@
 #!/bin/bash
 set -exuo pipefail
 
+apt-get update
+apt-get upgrade -yqq
+
 ./bootstrap
 ./configure CFLAGS="-ggdb -O0" \
            --enable-logging=verbose \
diff --git a/contrib/ci/jobs/0-codespell/config.ini 
b/contrib/ci/jobs/2-test/config.ini
similarity index 53%
copy from contrib/ci/jobs/0-codespell/config.ini
copy to contrib/ci/jobs/2-test/config.ini
index bd7d7386..c5a77c03 100644
--- a/contrib/ci/jobs/0-codespell/config.ini
+++ b/contrib/ci/jobs/2-test/config.ini
@@ -1,6 +1,6 @@
 [build]
 HALT_ON_FAILURE = False
 WARN_ON_FAILURE = True
-CONTAINER_BUILD = False
-CONTAINER_NAME = nixery.dev/shell/codespell
+CONTAINER_BUILD = True
+CONTAINER_NAME = exchange
 CONTAINER_ARCH = amd64
diff --git a/contrib/ci/jobs/2-test/test.sh b/contrib/ci/jobs/2-test/test.sh
index 39fca5c1..4c414230 100755
--- a/contrib/ci/jobs/2-test/test.sh
+++ b/contrib/ci/jobs/2-test/test.sh
@@ -1,6 +1,9 @@
 #!/bin/bash
 set -evu
 
+apt-get update
+apt-get upgrade -yqq
+
 ./bootstrap
 ./configure CFLAGS="-ggdb -O0" \
            --enable-logging=verbose \
diff --git a/contrib/ci/jobs/0-codespell/config.ini 
b/contrib/ci/jobs/3-docs/config.ini
similarity index 53%
copy from contrib/ci/jobs/0-codespell/config.ini
copy to contrib/ci/jobs/3-docs/config.ini
index bd7d7386..c5a77c03 100644
--- a/contrib/ci/jobs/0-codespell/config.ini
+++ b/contrib/ci/jobs/3-docs/config.ini
@@ -1,6 +1,6 @@
 [build]
 HALT_ON_FAILURE = False
 WARN_ON_FAILURE = True
-CONTAINER_BUILD = False
-CONTAINER_NAME = nixery.dev/shell/codespell
+CONTAINER_BUILD = True
+CONTAINER_NAME = exchange
 CONTAINER_ARCH = amd64
diff --git a/contrib/ci/jobs/4-deb-package/job.sh 
b/contrib/ci/jobs/4-deb-package/job.sh
index dc78cdf2..adc2a777 100755
--- a/contrib/ci/jobs/4-deb-package/job.sh
+++ b/contrib/ci/jobs/4-deb-package/job.sh
@@ -3,22 +3,21 @@ 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
-
 
-git apply ./ci/jobs/2-deb-package/install-fix.patch
-
-# Get current version from debian/control file.
-DEB_VERSION=$(dpkg-parsechangelog -S Version)
+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
 
-# We do a sparse checkout, so we need to hint
-# the version to the build system.
-echo $DEB_VERSION > .version
+export VERSION="$(./contrib/ci/jobs/4-deb-package/version.sh)"
+echo "Building package version ${VERSION}"
+EMAIL=none gbp dch --ignore-branch --debian-tag="%(version)s" --git-author 
--new-version="${VERSION}"
 ./bootstrap
 dpkg-buildpackage -rfakeroot -b -uc -us
 
-ls ../*.deb
-mv ../*.deb /artifacts/
+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/4-deb-package/version.sh 
b/contrib/ci/jobs/4-deb-package/version.sh
new file mode 100755
index 00000000..d2647785
--- /dev/null
+++ b/contrib/ci/jobs/4-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
diff --git a/contrib/ci/jobs/5-deploy-package/config.ini 
b/contrib/ci/jobs/5-deploy-package/config.ini
new file mode 100644
index 00000000..8d6409a6
--- /dev/null
+++ b/contrib/ci/jobs/5-deploy-package/config.ini
@@ -0,0 +1,5 @@
+[build]
+HALT_ON_FAILURE = True
+WARN_ON_FAILURE = True
+CONTAINER_BUILD = False
+CONTAINER_NAME = nixery.dev/shell/rsync
diff --git a/contrib/ci/jobs/5-deploy-package/job.sh 
b/contrib/ci/jobs/5-deploy-package/job.sh
new file mode 100755
index 00000000..d39cf998
--- /dev/null
+++ b/contrib/ci/jobs/5-deploy-package/job.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -exuo pipefail
+
+ARTIFACT_PATH="/artifacts/exchange/${CI_COMMIT_REF}/*.deb"
+
+RSYNC_HOST="taler.host.internal"
+RSYNC_PORT=424242
+RSYNC_PATH="incoming_packages/bookworm-taler-ci/"
+RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}"
+
+
+rsync -vP \
+      --port ${RSYNC_PORT} \
+      ${ARTIFACT_PATH} ${RSYNC_DEST}

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]