[petsc-dev] speeding up testing by not always downloading external packages?
Barry Smith
bsmith at petsc.dev
Sun Oct 11 03:27:48 CDT 2020
Satish,
Do you think the time to download all the external packages for each job is significant?
Would using super shallow clones on the external packages help much in time? Maybe we should to them anyways to stop wasting bandwidth?
Currently we do full clones? but we don't need the huge histories.
A much more elaborate way to save more time
On each test machine have repositories of all the external packages
For each job,
do pull in all these repositories from remote that job depends on (usually this will get nothing so take no time)
For each package either
- build in a unique build directory of the repository directory directly (for CMAKE and packages that support out of base directory builds)
- make a local shallow clone of the local copy of the repository to externalpackages for the rest and do those builds there
The average cost of this will just some shallow local clones instead of copying over from remote machines.
The PETSc test directories can still be completely cleaned out for each job so Satish need not worry about testing with dirty directories.
This requires a bit of infrastructure, if it saves a minute it is not worth it, but if it cuts the pipeline time from 180 minutes to 150 maybe?
Probably not worth it. Could also be done just for a couple of the most external package intense jobs.
Barry
More information about the petsc-dev
mailing list