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]

Reply via email to