gnunet-svn
[Top][All Lists]
Advanced

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

[merchant] branch master updated: CI: add coverage and lcov result publi


From: Admin
Subject: [merchant] branch master updated: CI: add coverage and lcov result publication
Date: Sun, 01 Jun 2025 12:05:10 +0200

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

martin-schanzenbach pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new 2c9fba13 CI: add coverage and lcov result publication
2c9fba13 is described below

commit 2c9fba130a4063a5d8ef01f3031c54c35133fd0b
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Sun Jun 1 12:04:43 2025 +0200

    CI: add coverage and lcov result publication
---
 contrib/ci/jobs/2-test/1-build.sh    | 12 +++++++
 contrib/ci/jobs/2-test/2-install.sh  |  4 +++
 contrib/ci/jobs/2-test/3-startdb.sh  |  7 ++++
 contrib/ci/jobs/2-test/4-test.sh     | 25 ++++++++++++++
 contrib/ci/jobs/2-test/5-coverage.sh | 20 ++++++++++++
 contrib/ci/jobs/2-test/job.sh        |  6 +++-
 contrib/ci/jobs/2-test/test.sh       | 63 ------------------------------------
 7 files changed, 73 insertions(+), 64 deletions(-)

diff --git a/contrib/ci/jobs/2-test/1-build.sh 
b/contrib/ci/jobs/2-test/1-build.sh
new file mode 100755
index 00000000..59ad5126
--- /dev/null
+++ b/contrib/ci/jobs/2-test/1-build.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -evu
+
+apt-get update
+apt-get upgrade -yqq
+
+./bootstrap
+./configure CFLAGS="-ggdb -O0" \
+           --prefix=/usr \
+      --enable-coverage \
+           --enable-logging=verbose \
+           --disable-doc
diff --git a/contrib/ci/jobs/2-test/2-install.sh 
b/contrib/ci/jobs/2-test/2-install.sh
new file mode 100755
index 00000000..41bb3c01
--- /dev/null
+++ b/contrib/ci/jobs/2-test/2-install.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+set -evux
+
+make install
diff --git a/contrib/ci/jobs/2-test/3-startdb.sh 
b/contrib/ci/jobs/2-test/3-startdb.sh
new file mode 100755
index 00000000..6a0f0cd7
--- /dev/null
+++ b/contrib/ci/jobs/2-test/3-startdb.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -evux
+
+sudo -u postgres /usr/lib/postgresql/15/bin/postgres -D 
/etc/postgresql/15/main -h localhost -p 5432 &
+sleep 10
+sudo -u postgres createuser -p 5432 root
+sudo -u postgres createdb -p 5432 -O root talercheck
diff --git a/contrib/ci/jobs/2-test/4-test.sh b/contrib/ci/jobs/2-test/4-test.sh
new file mode 100755
index 00000000..f423afa8
--- /dev/null
+++ b/contrib/ci/jobs/2-test/4-test.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+set -evux
+
+check_command()
+{
+       # Set LD_LIBRARY_PATH so tests can find the installed libs
+       LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/taler:/usr/lib:/usr/lib/taler 
PGPORT=5432 make check
+}
+
+print_logs()
+{
+       for i in src/*/test-suite.log
+       do
+               for FAILURE in $(grep '^FAIL:' ${i} | cut -d' ' -f2)
+               do
+                       echo "Printing ${FAILURE}.log"
+                       cat "$(dirname $i)/${FAILURE}.log"
+               done
+       done
+}
+
+if ! check_command ; then
+       print_logs
+       exit 1
+fi
diff --git a/contrib/ci/jobs/2-test/5-coverage.sh 
b/contrib/ci/jobs/2-test/5-coverage.sh
new file mode 100755
index 00000000..f96d355e
--- /dev/null
+++ b/contrib/ci/jobs/2-test/5-coverage.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -evux
+
+ARTIFACT_PATH="/artifacts/merchant/${CI_COMMIT_REF}/merchant"
+mkdir -p /artifacts/merchant/lcov/${CI_COMMIT_REF}/merchant # Variable comes 
from CI environment
+lcov --capture --directory . --output-file coverage.info || exit 1
+genhtml coverage.info --output-directory ${ARTIFACT_PATH} || exit 1
+
+
+RSYNC_HOST="taler.host.internal"
+RSYNC_PORT=424243
+RSYNC_PATH="incoming_packages/taler/"
+RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}"
+
+
+rsync -vP \
+      --port ${RSYNC_PORT} \
+      ${ARTIFACT_PATH} ${RSYNC_DEST} || exit 1
+
+
diff --git a/contrib/ci/jobs/2-test/job.sh b/contrib/ci/jobs/2-test/job.sh
index bfb24e33..56f231e8 100755
--- a/contrib/ci/jobs/2-test/job.sh
+++ b/contrib/ci/jobs/2-test/job.sh
@@ -3,4 +3,8 @@ set -exuo pipefail
 
 job_dir=$(dirname "${BASH_SOURCE[0]}")
 
-"${job_dir}"/test.sh
+. "${job_dir}"/1-test.sh
+. "${job_dir}"/2-install.sh
+. "${job_dir}"/3-startdb.sh
+. "${job_dir}"/4-test.sh
+. "${job_dir}"/5-coverage.sh"
diff --git a/contrib/ci/jobs/2-test/test.sh b/contrib/ci/jobs/2-test/test.sh
deleted file mode 100755
index 48087519..00000000
--- a/contrib/ci/jobs/2-test/test.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/bash
-set -evu
-
-apt-get update
-apt-get upgrade -yqq
-
-./bootstrap
-./configure CFLAGS="-ggdb -O0" \
-           --prefix=/usr \
-      --enable-coverage \
-           --enable-logging=verbose \
-           --disable-doc
-make -j install
-
-sudo -u postgres /usr/lib/postgresql/15/bin/postgres -D 
/etc/postgresql/15/main -h localhost -p 5432 &
-sleep 10
-sudo -u postgres createuser -p 5432 root
-sudo -u postgres createdb -p 5432 -O root talercheck
-
-check_command()
-{
-       # Set LD_LIBRARY_PATH so tests can find the installed libs
-       LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/taler:/usr/lib:/usr/lib/taler 
PGPORT=5432 make check
-}
-
-print_logs()
-{
-       for i in src/*/test-suite.log
-       do
-               for FAILURE in $(grep '^FAIL:' ${i} | cut -d' ' -f2)
-               do
-                       echo "Printing ${FAILURE}.log"
-                       cat "$(dirname $i)/${FAILURE}.log"
-               done
-       done
-}
-
-check_command
-RES=$?
-
-# FIXME: move this into own job? For testing, we also publish partial results 
even if test fails
-mkdir -p /artifacts/merchant/${CI_COMMIT_REF} # Variable comes from CI 
environment
-lcov --capture --directory . --output-file 
/artifacts/merchant/${CI_COMMIT_REF}/coverage.info || exit 1
-genhtml coverage.info --output-directory 
/artifacts/merchant/${CI_COMMIT_REF}/merchant-lcov || exit 1
-
-ARTIFACT_PATH="/artifacts/merchant/${CI_COMMIT_REF}/merchant-lcov"
-
-RSYNC_HOST="taler.host.internal"
-RSYNC_PORT=424243
-RSYNC_PATH="incoming_packages/taler/"
-RSYNC_DEST="rsync://${RSYNC_HOST}/${RSYNC_PATH}"
-
-
-rsync -vP \
-      --port ${RSYNC_PORT} \
-      ${ARTIFACT_PATH} ${RSYNC_DEST} || exit 1
-
-if ! $RES ; then
-       print_logs
-       exit 1
-fi
-
-

-- 
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]