Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan & schedule
Date: Thu, 09 Jul 2015 06:30:50
Message-Id: CAAr7Pr_EEqaVVJztZLn6FMfOOkkPsrM+wBKXoU9_LJ5PZR-LEQ@mail.gmail.com
In Reply to: Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan & schedule by Steev Klimaszewski
1 On Wed, Jul 8, 2015 at 10:11 PM, Steev Klimaszewski <steev@g.o>
2 wrote:
3
4 > On Wed, 2015-07-08 at 21:11 +0200, Tobias Klausmann wrote:
5 > > Hi!
6 > >
7 > > On Wed, 08 Jul 2015, Ciaran McCreesh wrote:
8 > > > On Wed, 8 Jul 2015 20:07:34 +0200
9 > > > Tobias Klausmann <klausman@g.o> wrote:
10 > > > > In essence, assuming we can "just scale" to make CI work is
11 > > > > ignoring the matter of the slower archs. And I suspect the "it
12 > > > > works on amd64, fuck everyone else" is not something we want to
13 > > > > pick as a motto.
14 > > >
15 > > > "It works on amd64 on a clean build system" is a heck of a lot better
16 > > > than "it may or may not work on one developer's heavily modified
17 > > > box"... The point of testing is not to catch all problems. It's just
18 > > > there to catch some simple screwups, cheaply.
19 > >
20 > > Agreed. Still, in my experience, problems that are not seen on
21 > > amd64 are the vast majority of timesinks. Usually, by the time
22 > > non-amd64 shows up on a non-security bug, the Basic Bullshitâ„¢ has
23 > > been sorted. And even if it isn't: Arches are usually quick to
24 > > point it out and the rest of arches move on to the next bug. The
25 > > truly arch-dependent bugs are what wastes my time:
26 > >
27 > > For example:
28 > >
29 > > - dependencies not being keyworded for arch or ~arch but only
30 > > amd64/~amd64
31 > > - dependencies not even building on ~arch, but on ~amd64
32 > > - package assuming availability of gcc/ghc/Python-X.Y when
33 > > arch/~arch only has something for <Y or <X
34 > > - my favourite: assuming udev is at version X for arch/~arch when
35 > > it has been broken there for roughly twelve kernel versions due
36 > > to udev/systemd upstream not caring. The information is one
37 > > equery-y command line away, but no, let's file that bug.
38 > >
39 >
40 > That's a failing of the arch team or the committer then - or whomever
41 > keyworded the package without testing the dependencies. That's why the
42 > keywording bugs happen when dependencies change - and yes, occasionally
43 > a dependency loses it's keywords and that may be where the issue comes
44 > from, I'm not sure. This used to be watched very closely, but I believe
45 > the tool being used broke at some point.
46 >
47 > What exactly do you mean, it's just one command line away but let's file
48 > the bug - yes a bug SHOULD be filed, so that the people know of the
49 > issue so it doesn't get repeated, over and over.
50 >
51 >
52 > > Having every arch team chase the deps for every package is very,
53 > > very frustrating, since it is so trivial a problem. We need a
54 > > tool that answers the question: "I want to mov cat/pkg-1.2.3 to
55 > > stable for arches a, b and c, what do I need?" for _every
56 > > package_. Some groups seem to have tooling for this, but it is
57 > > far from easily (obviously?) available, so every team gets to
58 > > re-discover dependency hell. Ruby is especially bad since
59 > > FEATURES=test make the depgraph explode (and sometimes circular).
60 > >
61 > > Regards,
62 > > Tobias
63 > >
64 > >
65 >
66 > The only fear I have about CI, is that we turn into every other distro
67 > out there where "it builds, ship it!" - I know I prefer to have our arm
68 > team actually test the packages more than just doing FEATURES=test
69 > (assuming the tests aren't broken on arm) emerge, although I know there
70 > are some people on the team who feel that it's too much to actually test
71 > all of the arm boards. For a long time, certain binary distros were
72 > compiling anything and everything, and if it built for other arches it
73 > was available. Even if there was no way it would possibly work on that
74 > arch.
75 >
76 >
77 So don't keyword or stabilize packages you don't test thoroughly. I see how
78 CI *could* be used to do bad things; but I don't see anyone proposing it be
79 used in that way; nor do you have to accept such suggestions (its your
80 arch, after all.)
81
82 -A
83
84
85 > Regards,
86 > Steev
87 >
88 >
89 >