[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


   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.




More information about the petsc-dev mailing list