diff --git a/Jenkinsfile b/Jenkinsfile index ebf30e8097..82341e4b00 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,9 +7,6 @@ JobContext.set(this) final def gitCommitTag = '[Jenkins | ' + env.JOB_BASE_NAME + ']'; -final def testDbManagerHost = "gcn-testdb-manager.gtx-dev.svc" -final def testDbManagerPort = "8080" - def branchName = null def version = null def releaseVersion = "" @@ -291,7 +288,7 @@ spec: // Login to docker.gentics.com so that the tests can pull all Mesh images authDockerRegistry("docker.gentics.com", "docker.gentics.com") authDockerRegistry("docker.gentics.com", "push.docker.gentics.com") - withEnv(["TESTMANAGER_HOSTNAME=" + testDbManagerHost, "TESTMANAGER_PORT=" + testDbManagerPort, "TESTCONTAINERS_RYUK_DISABLED=true"]) { + withEnv(["TESTCONTAINERS_RYUK_DISABLED=true"]) { sh "mvn -B -Dstyle.color=always -U -Dskip.integration.tests -Dui.skip.integrationTest=true " + " -fae -Dmaven.test.failure.ignore=true " + mvnArguments + mvnProjects + " clean " + mvnGoal } diff --git a/base-lib/pom.xml b/base-lib/pom.xml index e30c4cd1bc..223529923a 100644 --- a/base-lib/pom.xml +++ b/base-lib/pom.xml @@ -22,6 +22,8 @@ UTF-8 yyyyMMdd-HHmmss + + testdb-mariadb 8 @@ -57,6 +59,7 @@ + org.codehaus.mojo build-helper-maven-plugin diff --git a/build/testdb/initdb/01-gcn-testdb-accounts.sql b/build/testdb/initdb/01-gcn-testdb-accounts.sql new file mode 100644 index 0000000000..aeff73e85f --- /dev/null +++ b/build/testdb/initdb/01-gcn-testdb-accounts.sql @@ -0,0 +1,15 @@ +-- +-- Account used by the Gentics CMS test suites on the local test database container. +-- See build/testdb/README.md. +-- +-- The gcn-testdb-manager hands this account out to the tests and runs +-- GRANT ALL PRIVILEGES ON *.* to node@'%' IDENTIFIED BY '' +-- for every database it prepares. Since MariaDB 10.4 that statement does not create the +-- account implicitly any more, so it is created here. The empty password is required: +-- the manager always reports an empty password back to the tests +-- (com.gentics.testutils.testdbmanager.ManagerResponse#toProperties). +-- +CREATE USER IF NOT EXISTS 'node'@'%'; +GRANT ALL PRIVILEGES ON *.* TO 'node'@'%' WITH GRANT OPTION; + +FLUSH PRIVILEGES; diff --git a/cms-js-lib/pom.xml b/cms-js-lib/pom.xml index be7cff30ef..bedd30c776 100644 --- a/cms-js-lib/pom.xml +++ b/cms-js-lib/pom.xml @@ -19,6 +19,8 @@ UTF-8 yyyyMMdd-HHmmss + + true diff --git a/cms-oss-changelog/src/changelog/entries/2026/08/8893.GPU-2602.enhancement b/cms-oss-changelog/src/changelog/entries/2026/08/8893.GPU-2602.enhancement new file mode 100644 index 0000000000..72198bf869 --- /dev/null +++ b/cms-oss-changelog/src/changelog/entries/2026/08/8893.GPU-2602.enhancement @@ -0,0 +1 @@ +Gentics CMS is now tested against MariaDB 12.3 automatically \ No newline at end of file diff --git a/cms-oss-doc/src/main/source/gcn_compatibility_list.textile b/cms-oss-doc/src/main/source/gcn_compatibility_list.textile index 877b9fb365..ed0f5420e5 100644 --- a/cms-oss-doc/src/main/source/gcn_compatibility_list.textile +++ b/cms-oss-doc/src/main/source/gcn_compatibility_list.textile @@ -13,8 +13,9 @@ h4. MariaDB Gentics CMS supports the Long Term Support (LTS) versions of MariaDB. |_.Major Version |_.Minor Versions |_.Supported |_.Notes | +| 12 | 12.3 | Yes[1] | | | 11 | 11.4 | Yes | | -| 10 | 10.6, 10.11 | Yes[1] | Since Gentics CMS 6.0.0 | +| 10 | 10.6, 10.11 | Yes | Since Gentics CMS 6.0.0 | NOTE: For MariaDB versions 11.6 and up, the setting @innodb_snapshot_isolation@ must be disabled in the configuration. diff --git a/pom.xml b/pom.xml index 9e880ea1b9..9417cb9f66 100644 --- a/pom.xml +++ b/pom.xml @@ -106,6 +106,24 @@ 5.8.1 2.7.2 + 0.49.0 + false + localhost + IfNotPresent + testdb-mariadb,testdb-manager + testdb-mariadb,testdb-manager + 33306 + 38080 + mariadb:12.3 + 3000 + root + testdb + ${maven.multiModuleProjectDirectory}/build/testdb/initdb/01-gcn-testdb-accounts.sql + docker.gentics.com/apps/gcn-testdb-manager:master + 5 + 40 + 4 + 3.1.2 16 4 @@ -345,6 +363,88 @@ + + io.fabric8 + docker-maven-plugin + ${docker.maven.plugin.version} + + ${testdb.docker.skip} + ${testdb.docker.images} + ${testdb.showLogs} + true + + + testdb-mariadb + gentics/cms-oss-testdb-mariadb:local + + ${testdb.mariadb.image} + + /docker-entrypoint-initdb.d + + initdb + + + ${testdb.initdb.script} + . + + + + + + + + + --port=${testdb.mariadb.port} + --transaction-isolation=READ-COMMITTED + --binlog-format=ROW + --log-bin=mysqld-bin + --max-allowed-packet=67108864 + --max-connections=${testdb.mariadb.maxConnections} + + + + Europe/Vienna + ${testdb.mariadb.password} + + + ${testdb.mariadb.port}:${testdb.mariadb.port} + ${testdb.manager.port}:${testdb.manager.port} + + + .*port: ${testdb.mariadb.port} mariadb.org binary distribution.* + + + + + + testdb-manager + ${testdb.manager.image} + + ${testdb.pullPolicy} + + container + testdb-mariadb + + + Europe/Vienna + ${testdb.manager.port} + ${testdb.host} + ${testdb.mariadb.port} + ${testdb.mariadb.user} + ${testdb.mariadb.password} + ${testdb.manager.pool.capacity} + ${testdb.manager.gcndb.limit} + ${testdb.manager.filler.threads} + + + .*msg=Listening.* + + + + + + + org.codehaus.mojo jslint-maven-plugin @@ -435,6 +535,130 @@ + + + + testdb-containers + + + src/test/java + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + io.fabric8 + docker-maven-plugin + + + + testdb-start + generate-test-resources + + build + start + + + + + testdb-stop + test + + stop + + + + + + + + + + local-testdb + + + !testdb.docker.skip + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + ${testdb.host} + ${testdb.manager.port} + + ${testdb.host} + ${testdb.mariadb.port} + ${testdb.mariadb.user} + ${testdb.mariadb.password} + ${testdb.host} + ${testdb.mariadb.port} + ${testdb.mariadb.user} + ${testdb.mariadb.password} + + + + + + + + + + + no-testdb-for-skipped-tests + + + skipTests + true + + + + true + + + + no-testdb-for-skipped-unit-tests + + + skip.unit.tests + true + + + + true + + + + no-testdb-for-skipped-test-compile + + + maven.test.skip + true + + + + true + + + + gentics.nexus.releases-oss