diff options
author | Antoine A <> | 2024-02-19 12:16:46 +0100 |
---|---|---|
committer | Antoine A <> | 2024-02-19 12:16:46 +0100 |
commit | 988184818d43f213baf4f1b75385ab8cb9de6f71 (patch) | |
tree | 2316002cafba7d70b639006b6f998d40d5898084 | |
parent | 08315555e97b34aadcd9f597156cbffbd86033b8 (diff) | |
download | libeufin-988184818d43f213baf4f1b75385ab8cb9de6f71.tar.gz libeufin-988184818d43f213baf4f1b75385ab8cb9de6f71.tar.bz2 libeufin-988184818d43f213baf4f1b75385ab8cb9de6f71.zip |
More CI fix
-rw-r--r-- | Makefile | 47 | ||||
-rw-r--r-- | contrib/ci/Containerfile | 2 | ||||
-rwxr-xr-x | contrib/ci/jobs/2-test/test.sh | 4 | ||||
-rw-r--r-- | nexus/src/test/kotlin/CliTest.kt | 31 | ||||
-rw-r--r-- | testbench/src/test/kotlin/Iso20022Test.kt | 4 |
5 files changed, 44 insertions, 44 deletions
@@ -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()) { |