AFAICT AbstractLaunchScriptIntegrationTests creates a new docker image on each run which includes downloading of a JDK. It would be nice if we could cache the download locally to speed things up.

Comment From: scottfrederick

The tests create a new container configuration with each run, but it doesn't appear that a new image is being created (including the JDK download). Since the image has the same name with each run (for example, spring-boot-launch-script/Ubuntu-jammy-20230624), I think only the layers that change are getting updated, which is just the test script.

Most of the runs I tested had similar timings. The first test case executed (usually launchWithSingleCommandLineArgument) takes about 50 seconds to create the image and run the test, and most of the rest only take a few seconds. There are a few cases that consistently take about 30 seconds. It's probably worth looking into what those are doing that's different from the ones that only take a few seconds.

Comment From: philwebb

Thanks @scottfrederick. I added the issue when I was working on something else and didn't really investigate it in detail. I'm glad we're mostly good.

Comment From: wilkinsona

ge.spring.io has some good data on this: https://ge.spring.io/scans/tests?search.relativeStartTime=P28D&search.timeZoneId=Europe/London&tests.container=org.springframework.boot.launchscript.JarLaunchScriptIntegrationTests&tests.sortField=MEAN_DURATION

Comment From: philwebb

Reopening because caching doesn't work on CI