On Wed, 18 Jan 2017 10:48:18 +0100 Dirkjan Ochtman <d...@gentoo.org> wrote:
> This doesn't ring intuitively true for me. Maybe you're talking about > running a "repoman full" for every committed package; I'm not. The > checks Doug describes are all package-local. What makes this process > so expensive? Even on a per-package basis it can be expensive, and how expensive it is gets worse the more dependencies you have. And its really not worth it to me to penalise every developer with that overhead on every push simply because a subset of the developers don't want to execute that code locally. That seems like trading decentralised effort for a centralised and shared bottleneck. As it was, I had a push today take more than 15 seconds and I started to worry something was wrong. Centralised effort like that is only of benefit IME if it doesn't contribute to a bottleneck or impede the workflow. Though I admit a carefully constructed subset of repomans checks could be fast enough. eg: If at all possible, I'd want those tests we need done to be executable without needing to source the ebuild or any of the profiles. Things like MANIFEST checking and metadata.xml validation can probably be done without this as long as people do it right. /dev-perl/Dist-Zilla $ time repoman manifest-check real 0m1.120s user 0m1.020s sys 0m0.100s cpu 99.98% But actual checking is really bad with a cold cache ( and I seem to always have a cold cache because web browsers are made of bloat ) /dev-perl/Dist-Zilla $ time repoman full --include-arches amd64 real 0m51.698s user 0m8.890s sys 0m7.898s cpu 32.47% Warm cache: real 0m5.087s user 0m4.413s sys 0m1.815s cpu 122.42% Warm cache + multiple arches: real 0m7.469s user 0m6.566s sys 0m1.893s cpu 113.24% I guess it can't be slower than CVS .... but ideally, you want the git commit window to be as fast as possible to minimise the chance of contention.
pgpVNG590AoCg.pgp
Description: OpenPGP digital signature