Pre-built base images for external tests (reduce per-run build time and failures)
- Dominant language
- HTML
- Stars
- 155
- Forks
- 346
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 36
Description
Every time an external test runs today, build_image.sh invokes dockerfile_functions.sh to dynamically generate a full Dockerfile and build it from scratch — including downloading Maven, compiling CRIU from source, installing SBT with GPG verification, etc. These tool-installation layers are identical across all runs of the same test and never change between invocations.
This proposal introduces a small set of pre-built base images published to ghcr.io/adoptium (GitHub Container Registry, https://github.com/orgs/adoptium/packages) so each test only needs a thin ~15-line Dockerfile that does FROM and adds the test-specific git clone + COPY test.sh.
Contributor guide
Research direction
Start by reading build_image.sh and dockerfile_functions.sh to trace how external-test Dockerfiles are generated and which tool-installation layers are rebuilt. Compare the current generated Dockerfile with the proposed thin form. Done means the shared base images are published to ghcr.io/adoptium and external tests use them while retaining test-specific cloning and COPY steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, shell
- Domain
- build-system, devops, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100