[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [merchant] branch master updated: CI: add coverage and lcov result publication,
Admin <=