Dockerfile for the Docker image used to build the Spectral Storage Service.
Contains Java 25 (Eclipse Temurin) + Ant. Gradle is provided by the Gradle
wrapper inside the project, so it is not installed in the image. The Spectral Storage
Service is pure Java (raw-servlet web apps + importer, no front_end), so (unlike the
limelight/proxl build images) no Node is installed.
sudo docker image build -t mriffle/build-spectral-storage ./
sudo docker run --rm -it --user $(id -u):$(id -g) \
-v `pwd`:`pwd` -w `pwd` --env HOME=. \
--entrypoint ant mriffle/build-spectral-storage -f ant_build_all.xml
On a GitHub release, .github/workflows/docker-release.yml builds and pushes the image
to ghcr.io/yeastrc/spectral-storage-build-docker, tagged with the full version
(e.g. 2.0.0), major.minor (2.0), major (2), and latest.
That published image is what the Spectral Storage Service consumes (its .github
workflows and Dockerfile builder stage), replacing the previous dependency on
mriffle/build-spectr:latest.
Consumers pin the major tag (e.g. :2) rather than :latest, so existing
commits keep building against the same image even after a new major build image
(:3) is published.