summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine A <>2024-02-19 12:16:46 +0100
committerAntoine A <>2024-02-19 12:16:46 +0100
commit988184818d43f213baf4f1b75385ab8cb9de6f71 (patch)
tree2316002cafba7d70b639006b6f998d40d5898084
parent08315555e97b34aadcd9f597156cbffbd86033b8 (diff)
downloadlibeufin-988184818d43f213baf4f1b75385ab8cb9de6f71.tar.gz
libeufin-988184818d43f213baf4f1b75385ab8cb9de6f71.tar.bz2
libeufin-988184818d43f213baf4f1b75385ab8cb9de6f71.zip
More CI fix
-rw-r--r--Makefile47
-rw-r--r--contrib/ci/Containerfile2
-rwxr-xr-xcontrib/ci/jobs/2-test/test.sh4
-rw-r--r--nexus/src/test/kotlin/CliTest.kt31
-rw-r--r--testbench/src/test/kotlin/Iso20022Test.kt4
5 files changed, 44 insertions, 44 deletions
diff --git a/Makefile b/Makefile
index 81428e84..864bff0c 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ include build-system/config.mk
# Default target, must be at the top.
# Should be changed with care to not break (Debian) packaging.
-all: compile
+all: build
git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py
git_tag=$(shell git describe --tags)
@@ -28,8 +28,8 @@ lib_dir=$(abs_destdir)$(prefix)/lib
# While the gradle command sounds like it's installing something,
# it's like a destdir install that only touches the source tree.
-.PHONY: compile
-compile:
+.PHONY: build
+build:
./gradlew bank:installShadowDist nexus:installShadowDist
@@ -51,38 +51,31 @@ deb:
install-nobuild: install-nobuild-bank install-nobuild-nexus
-.PHONY: install-nobuild-common
-install-nobuild-common:
+.PHONY: install-nobuild-files
+install-nobuild-files:
install -m 644 -D -t $(config_dir) contrib/currencies.conf
- install -m 644 -D -t $(sql_dir) database-versioning/versioning.sql
- install -D -t $(bin_dir) contrib/libeufin-dbconfig
-
-.PHONY: install-nobuild-bank-files
-install-nobuild-bank-files:
install -m 644 -D -t $(config_dir) contrib/bank.conf
- install -m 644 -D -t $(sql_dir) database-versioning/libeufin-bank*.sql
- install -m 644 -D -t $(sql_dir) database-versioning/libeufin-conversion*.sql
-
-.PHONY: install-nobuild-nexus-files
-install-nobuild-nexus-files:
install -m 644 -D -t $(config_dir) contrib/nexus.conf
+ install -m 644 -D -t $(sql_dir) database-versioning/versioning.sql
+ install -m 644 -D -t $(sql_dir) database-versioning/libeufin-bank*.sql
install -m 644 -D -t $(sql_dir) database-versioning/libeufin-nexus*.sql
+ install -m 644 -D -t $(sql_dir) database-versioning/libeufin-conversion*.sql
+ install -D -t $(bin_dir) contrib/libeufin-dbconfig
+ install -D -t $(bin_dir) contrib/libeufin-tan-*.sh
.PHONY: install-nobuild-bank
-install-nobuild-bank: install-nobuild-common install-nobuild-bank-files
+install-nobuild-bank: install-nobuild-files
install -d $(spa_dir)
cp contrib/wallet-core/demobank/* $(spa_dir)/
install -d $(abs_destdir)$(prefix)
install -d $(bin_dir)
install -d $(lib_dir)
- install -D -t $(bin_dir) contrib/libeufin-tan-*.sh
install -D -t $(bin_dir) contrib/libeufin-bank-dbinit
install -D -t $(bin_dir) bank/build/install/bank-shadow/bin/libeufin-bank
install -m=644 -D -t $(lib_dir) bank/build/install/bank-shadow/lib/bank-*.jar
.PHONY: install-nobuild-nexus
-install-nobuild-nexus: install-nobuild-common install-nobuild-nexus-files
- install -m 644 -D -t $(config_dir) contrib/nexus.conf
+install-nobuild-nexus: install-nobuild-files
install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/libeufin-nexus.1
install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/libeufin-nexus.conf.5
install -D -t $(bin_dir) contrib/libeufin-nexus-dbinit
@@ -91,7 +84,7 @@ install-nobuild-nexus: install-nobuild-common install-nobuild-nexus-files
.PHONY: install
install:
- $(MAKE) compile
+ $(MAKE) build
$(MAKE) install-nobuild
.PHONY: assemble
@@ -99,31 +92,31 @@ assemble:
./gradlew assemble
.PHONY: check
-check: install-nobuild-bank-files
+check: install-nobuild-files
./gradlew check
.PHONY: bank-test
-bank-test: install-nobuild-bank-files
+bank-test: install-nobuild-files
./gradlew :bank:test --tests $(test) -i
.PHONY: nexus-test
-nexus-test: install-nobuild-nexus-files
+nexus-test: install-nobuild-files
./gradlew :nexus:test --tests $(test) -i
.PHONY: ebics-test
-ebics-test:
+ebics-test: install-nobuild-files
./gradlew :ebics:test --tests $(test) -i
.PHONY: common-test
-common-test:
+common-test: install-nobuild-files
./gradlew :common:test --tests $(test) -i
.PHONY: testbench-test
-testbench-test: install-nobuild-bank-files install-nobuild-nexus-files
+testbench-test: install-nobuild-files
./gradlew :testbench:test --tests $(test) -i
.PHONY: testbench
-testbench: install-nobuild-bank-files install-nobuild-nexus-files
+testbench: install-nobuild-files
./gradlew :testbench:run --console=plain --args="$(platform)"
.PHONY: doc
diff --git a/contrib/ci/Containerfile b/contrib/ci/Containerfile
index 7156b20b..07ebe6fd 100644
--- a/contrib/ci/Containerfile
+++ b/contrib/ci/Containerfile
@@ -1,6 +1,8 @@
FROM docker.io/library/debian:bookworm
ENV DEBIAN_FRONTEND=noninteractive
+# Persistent gradle cache
+ENV GRADLE_USER_HOME=/workdir/.gradle
RUN apt-get update -yqq && \
apt-get install -yqq \
diff --git a/contrib/ci/jobs/2-test/test.sh b/contrib/ci/jobs/2-test/test.sh
index 60e1c6f6..48cd51fc 100755
--- a/contrib/ci/jobs/2-test/test.sh
+++ b/contrib/ci/jobs/2-test/test.sh
@@ -5,8 +5,8 @@ apt-get update
apt-get upgrade -yqq
./bootstrap
-./configure --prefix=/usr
-make -j install
+./configure --prefix /usr
+make build
sudo -u postgres /usr/lib/postgresql/15/bin/postgres -D /etc/postgresql/15/main -h localhost -p 5432 &
sleep 10
diff --git a/nexus/src/test/kotlin/CliTest.kt b/nexus/src/test/kotlin/CliTest.kt
index 4c316b6a..6776e7f2 100644
--- a/nexus/src/test/kotlin/CliTest.kt
+++ b/nexus/src/test/kotlin/CliTest.kt
@@ -23,10 +23,7 @@ import tech.libeufin.common.CryptoUtil
import tech.libeufin.nexus.*
import java.io.ByteArrayOutputStream
import java.io.PrintStream
-import kotlin.io.path.Path
-import kotlin.io.path.createDirectories
-import kotlin.io.path.deleteIfExists
-import kotlin.io.path.writeText
+import kotlin.io.path.*
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -71,10 +68,12 @@ class CliTest {
nexusCmd.testErr("$cmd -c $conf", "Could not decode client private keys at '$clientKeysPath': Expected start of the object '{', but had 'EOF' instead at path: $\nJSON input: CORRUPTION")
}
// Missing permission
- /*clientKeysPath.toFile().setReadable(false) TODO make this work in CI
- for (cmd in allCmds) {
- nexusCmd.testErr("$cmd -c $conf", "Could not read client private keys at '$clientKeysPath': permission denied")
- }*/
+ clientKeysPath.toFile().setReadable(false)
+ if (!clientKeysPath.isReadable()) { // Skip if root
+ for (cmd in allCmds) {
+ nexusCmd.testErr("$cmd -c $conf", "Could not read client private keys at '$clientKeysPath': permission denied")
+ }
+ }
// Unfinished client
persistClientKeys(generateNewKeys(), clientKeysPath)
for (cmd in cmds) {
@@ -96,10 +95,12 @@ class CliTest {
nexusCmd.testErr("$cmd -c $conf", "Could not decode bank public keys at '$bankKeysPath': Expected start of the object '{', but had 'EOF' instead at path: $\nJSON input: CORRUPTION")
}
// Missing permission
- /*bankKeysPath.toFile().setReadable(false) TODO make this work in CI
- for (cmd in allCmds) {
- nexusCmd.testErr("$cmd -c $conf", "Could not read bank public keys at '$bankKeysPath': permission denied")
- }*/
+ bankKeysPath.toFile().setReadable(false)
+ if (!bankKeysPath.isReadable()) { // Skip if root
+ for (cmd in allCmds) {
+ nexusCmd.testErr("$cmd -c $conf", "Could not read bank public keys at '$bankKeysPath': permission denied")
+ }
+ }
// Unfinished bank
persistBankKeys(BankPublicKeysFile(
bank_authentication_public_key = CryptoUtil.generateRsaKeyPair(2048).public,
@@ -112,7 +113,9 @@ class CliTest {
// Missing permission
clientKeysPath.deleteIfExists()
- /*clientKeysPath.parent!!.toFile().setWritable(false) TODO make this work in CI
- nexusCmd.testErr("ebics-setup -c $conf", "Could not write client private keys at '$clientKeysPath': permission denied on '${clientKeysPath.parent}'")*/
+ clientKeysPath.parent!!.toFile().setWritable(false)
+ if (!clientKeysPath.parent!!.isWritable()) { // Skip if root
+ nexusCmd.testErr("ebics-setup -c $conf", "Could not write client private keys at '$clientKeysPath': permission denied on '${clientKeysPath.parent}'")
+ }
}
} \ No newline at end of file
diff --git a/testbench/src/test/kotlin/Iso20022Test.kt b/testbench/src/test/kotlin/Iso20022Test.kt
index 27914c78..481961c0 100644
--- a/testbench/src/test/kotlin/Iso20022Test.kt
+++ b/testbench/src/test/kotlin/Iso20022Test.kt
@@ -25,7 +25,9 @@ import kotlin.io.path.*
class Iso20022Test {
@Test
fun logs() {
- for (platform in Path("test").listDirectoryEntries()) {
+ val root = Path("test")
+ if (!root.exists()) return;
+ for (platform in root.listDirectoryEntries()) {
for (file in platform.listDirectoryEntries()) {
val fetch = file.resolve("fetch")
if (file.isDirectory() && fetch.exists()) {