Michael Semb Wever created CASSANDRA-21403:
----------------------------------------------
Summary: Preload maven dependencies and gradle binary in docker
build/test images
Key: CASSANDRA-21403
URL: https://issues.apache.org/jira/browse/CASSANDRA-21403
Project: Apache Cassandra
Issue Type: Improvement
Components: Build, CI
Reporter: Michael Semb Wever
Maven dependencies (and the gradle binary for accord's gradle wrapper) were
being downloaded on every CI pipeline run. This lead to hitting rate limits
and runs failing.
The docker containers mount the host's ~/.m2/repository to try to reduce this
download cost, but CI can't do this for two reasons:
1. pre-ci.cassandra.a.o spins up new agents each build
2. ci-cassandra.a.o mounts a tmp directory, as it runs multiple executors on
the same agent hosts, and multiple containers cannot use the same repository
directory (or files become corrupt).
The solution is to bake in the maven dependencies and gradle binary into the
images, and rsync them into place when the container runs.
The preloaded set of dependencies will drift over time as dependencies are
added or versions bumped, but this is expected to be a minor issue remedied in
time when the image is built and deployed again. (It can be freely rebuilt at
any time too.)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]