From 8a0e4a9cdd2675e2ecc7bcb4e864024cdf74bbc8 Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Tue, 12 Oct 2021 14:58:19 +0200 Subject: [PATCH] HHH-14663 : Add testing for s390x --- Jenkinsfile | 60 +++++++++++++++++++++++++-------------------------- dialects.adoc | 8 +++++++ 2 files changed, 38 insertions(+), 30 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 19686a54da..d0abc44424 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -43,6 +43,7 @@ stage('Configure') { // buildEnv('8', 'mssql'), // buildEnv('8', 'sybase'), buildEnv('8', 'hana', 'HANA'), + buildEnv('8', 's390x', 's390x'), // Disable EDB for now as the image is not available anymore // buildEnv('8', 'edb') ]; @@ -148,56 +149,38 @@ stage('Build') { } } stage('Test') { - // Clean by default otherwise the PackagedEntityManager tests fail on a node that previously ran a different DB - boolean clean = true; - String goal; - String lockableResource; switch (buildEnv.dbName) { case "h2": case "derby": case "hsqldb": - goal = "-Pdb=${buildEnv.dbName}" + runTest("-Pdb=${buildEnv.dbName}") break; case "mysql8": - goal = "-Pdb=mysql_ci" + runTest("-Pdb=mysql_ci") break; case "postgresql_9_5": case "postgresql_13": - goal = "-Pdb=pgsql_ci" + runTest("-Pdb=pgsql_ci") break; case "oracle": - goal = "-Pdb=oracle_ci -PexcludeTests=**.LockTest.testQueryTimeout*" + runTest("-Pdb=oracle_ci -PexcludeTests=**.LockTest.testQueryTimeout*") break; case "oracle_ee": - goal = "-Pdb=oracle_jenkins" - lockableResource = 'ORACLE_RDS' + runTest("-Pdb=oracle_jenkins", 'ORACLE_RDS') break; case "hana": - // For HANA we have to also clean because this is a shared VM and the compile cache can become a problem - clean = true; - goal = "-Pdb=hana_jenkins" + runTest("-Pdb=hana_jenkins", 'HANA') break; case "edb": - goal = "-Pdb=edb_ci -DdbHost=localhost:5433" + runTest("-Pdb=edb_ci -DdbHost=localhost:5433") + break; + case "s390x": + runTest("-Pdb=h2") break; default: - goal = "-Pdb=${buildEnv.dbName}_ci" + runTest("-Pdb=${buildEnv.dbName}_ci") break; } - String cmd = "./gradlew" + (clean ? " clean" : "") + " check ${goal} -Plog-test-progress=true --stacktrace"; - try { - if (lockableResource == null) { - sh cmd - } - else { - lock(lockableResource) { - sh cmd - } - } - } - finally { - junit '**/target/test-results/test/*.xml' - } } } finally { @@ -270,10 +253,27 @@ void runBuildOnNode(String label, Closure body) { } } void pruneDockerContainers() { - if ( !sh( script: 'which docker', returnStdout: true ).trim().isEmpty() ) { + if ( !sh( script: 'command -v docker || true', returnStdout: true ).trim().isEmpty() ) { sh 'docker container prune -f || true' sh 'docker image prune -f || true' sh 'docker network prune -f || true' sh 'docker volume prune -f || true' } +} +// Clean by default otherwise the PackagedEntityManager tests fail on a node that previously ran a different DB +void runTest(String goal, String lockableResource = null, boolean clean = true) { + String cmd = "./gradlew" + (clean ? " clean" : "") + " check ${goal} -Plog-test-progress=true --stacktrace"; + try { + if (lockableResource == null) { + sh cmd + } + else { + lock(lockableResource) { + sh cmd + } + } + } + finally { + junit '**/target/test-results/test/*.xml' + } } \ No newline at end of file diff --git a/dialects.adoc b/dialects.adoc index 45ed2b8454..ffbf791324 100644 --- a/dialects.adoc +++ b/dialects.adoc @@ -61,5 +61,13 @@ several requirements have to be fulfilled: In case the responsible employee is unreachable for a longer period or issues with the dialect are not attended to in a timely manner, the Hibernate team will move the dialect back to the `hibernate-community-dialects` artifact. +The requirements for the database server are: + +* JDK 8 installed through e.g. `sudo yum install -y java-1.8.0-openjdk-devel` +* JDK 11 installed through e.g. `sudo yum install -y java-11-openjdk-devel` +* Git installed through e.g. `sudo yum install -y git` +* Access to the database through non-confidential credentials +* Access via SSH through confidential credentials + Get in touch with the Hibernate team on https://hibernate.zulipchat.com/#narrow/stream/132096-hibernate-user[Zulip] if you want to request the move of your dialect to hibernate-core. \ No newline at end of file