Missing TestContainers (docker) support
Summary
I tried to find it in the documentation, but here is just how to create or use a docker image. In our case we would need to be able to start docker images on demand from the build via TestContainers.
At this moment there is just several tests in GlassFish requiring that, but we it would be good to be able to test also clusters and networking issues, which is perfectly possible with TestContainers. These tests can be also parallelized.
Without that we can run such tests just on private OmniFish infrastructure and developer laptops.
Steps to reproduce
See https://ci.eclipse.org/glassfish/view/GlassFish/job/glassfish7-all-tests/ where I tried to create a pipeline able to run all available tests against a PR containing too many changes or changes where is any risk that something could break, so we could prevent merging it to the master branch.
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.281 s <<< FAILURE! - in org.glassfish.main.tests.tck.ant.tests.EjbITest
[ERROR] org.glassfish.main.tests.tck.ant.tests.EjbITest.ejb Time elapsed: 0.248 s <<< ERROR!
java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration
at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$6(DockerClientProviderStrategy.java:257)
I have prepared another test using TC, but now I am not able to run it on Jenkins.
Priority
-
Urgent -
High -
Medium -
Low
Severity
-
Blocker -
Major -
Normal -
Low
Impact
Currently we are still able to use Jakarta EE TCK project to run TCK tests for GlassFish and laptops to run remaining tests, but it is more complicated. Also both projects are evolving so there's always a risk that at some point one project can block the other one (TCK uses released GF versions, GF uses released TCK versions, builds can be configured to use snapshots, configuration mistake takes hours ...).
GlassFish 7.0.0 will be released soon, but then development and maintenance continues ...