This is an automated email from the ASF dual-hosted git repository. jungm pushed a commit to branch ee11 in repository https://gitbox.apache.org/repos/asf/tomee-tck.git
commit 08167d763f8d676479dafe28b402a8358948d2d3 Author: Markus Jung <[email protected]> AuthorDate: Sun Jul 19 16:40:51 2026 +0200 Describe the containerized CI branches in the docs --- KNOWN_ISSUES.md | 21 +++++++++++++-------- README.md | 33 ++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md index 1473cea..75b5d90 100644 --- a/KNOWN_ISSUES.md +++ b/KNOWN_ISSUES.md @@ -275,11 +275,16 @@ JavaTest report directories (`security-old` and `faces-old` write theirs to `target/securityreport/**` and `target/facesreport/**`, matched by the `target/*report/**` archive glob). -The modern `faces` branch runs its suite inside a container that bundles JDK 21, -Maven, and a matching Chrome/chromedriver pair -(`markhobson/maven-chrome:jdk-21`, pinned by digest in the `Jenkinsfile`), -because its `old-tck-selenium` modules drive a real Chrome through Selenium and -the ASF `ubuntu && ephemeral` agents ship no browser binary. The container runs -with `--shm-size=2g` so headless Chrome has enough shared memory. The -`faces-old` JavaTest half needs no browser and runs on the bare JDK-tools agent -like the other suites. +Every test branch runs its suite inside a container pinned by digest in the +`Jenkinsfile`, so each TomEE/Derby/LDAP/JavaTest port binds a +container-private network namespace and cannot collide with anything else on +the host. Most branches use a plain `eclipse-temurin` JDK image (the smoke +matrix pairs a JDK 17 and a JDK 21 image; everything else uses JDK 21) — the +checked-in Maven wrapper bootstraps Maven inside the container. The modern +`faces` branch instead uses a container that bundles JDK 21, Maven, and a +matching Chrome/chromedriver pair (`markhobson/maven-chrome:jdk-21`), because +its `old-tck-selenium` modules drive a real Chrome through Selenium and the +ASF `ubuntu && ephemeral` agents ship no browser binary; it runs with +`--shm-size=2g` so headless Chrome has enough shared memory. The `faces-old` +JavaTest half needs no browser and uses the plain JDK 21 image like the other +suites. diff --git a/README.md b/README.md index 757bb0a..2ac80c4 100644 --- a/README.md +++ b/README.md @@ -78,22 +78,25 @@ TOMEE_CLASSIFIER=webprofile runner-webprofile/run-platform-suite.sh javatest per ## ASF Jenkins pipeline The root `Jenkinsfile` is the authoritative CI definition. It targets the ASF -Jenkins `ubuntu` agents and their managed `jdk_17_latest` and `jdk_21_latest` -tools. The pipeline validates the environment, runs the smoke gate on both -JDKs in parallel, and then fans out every manifest partition as an independent -JDK 21 branch against the default TomEE Plume distribution. One additional -branch runs the Jakarta Persistence javatest partition against the -OpenJPA-based webprofile distribution to track its reviewed exclusion list. -Test reports and TomEE logs are archived for 14 days. - -Parallel branches request `ubuntu && ephemeral` agents. The current ASF cloud -workers advertise one executor per host, which isolates the fixed localhost -ports used by TomEE and Derby. Jenkins queues branches when fewer workers are -available, so the pipeline uses available capacity without imposing a fixed -partition count. +Jenkins `ubuntu` agents. The pipeline validates the environment, runs the +smoke gate on JDK 17 and JDK 21 in parallel, and then fans out every manifest +partition as an independent JDK 21 branch against the default TomEE Plume +distribution. One additional branch runs the Jakarta Persistence javatest +partition against the OpenJPA-based webprofile distribution to track its +reviewed exclusion list. Test reports and TomEE logs are archived for 14 days. + +Parallel branches request `ubuntu && ephemeral` agents and run their suites +inside digest-pinned containers (`eclipse-temurin` JDK images; a +Chrome-bundling image for the modern `faces` suite), so every TomEE, Derby, +LDAP and JavaTest port binds a container-private network namespace and cannot +collide with other jobs on the same host. The runner scripts' free-port +selection and require-free guards remain as defense in depth and for +workstation runs outside a container. Jenkins queues branches when fewer +workers are available, so the pipeline uses available capacity without +imposing a fixed partition count. Configure an ASF Jenkins multibranch Pipeline job to use `Jenkinsfile` from -SCM; Jenkins supplies the checkout and managed JDKs, while the checked-in Maven -wrapper supplies Maven 3.9.9. +SCM; Jenkins supplies the checkout, the container images supply the JDKs, and +the checked-in Maven wrapper supplies Maven 3.9.9 inside each container. See `runner-webprofile/README.md` for the available artifact profiles and the coverage gaps that remain before this can produce a certification result.
