On 19 May 2016 at 02:05, David Cheney <david.che...@canonical.com> wrote:
> We already have godeps which can take a set of vcs repos and flick
> them to the right revisions.
>
> Why does CI check out every single dependency from upstream every
> single time we do a build ? That introduces wc -l dependencies.tsv
> points of failure to every single CI run -- not to mention the several
> minutes it spends laboriously checking out the code.
>
> Thanks
>
> Dave

I've thought for a while that it should be possible to locally cache
all the dependency repos, fetching new revisions only when necessary.
Some kind of local network proxy for launchpad and github could do it
(revision hashes are perfect for this kind of caching).
Off hand I don't know anything off the shelf that can do
this though - do you?

Of course, it is always possible that a given revision is deleted
from a repo or that the repo itself goes missing, but perhaps that's
something that could be dealt with on a case-by-case basis when
it happens.

Another reason we pull things from scratch is that we want to be
sure that all the dependencies of the project are actually found
in the dependencies file. That would be fairly easy to check even
if avoided the proxy idea and went with Nate's suggestion of
a snapshot, just by checking that the output of godeps after
updating the project is the same as the dependencies.tsv file.

  cheers,
    rog.

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to