Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] RFC: automatically mailing people on pkgcheck problems with their packages
Date: Tue, 08 Dec 2015 00:27:41
Message-Id: CAGfcS_nMGyAf1qHt9K=wC=rjEjiiNR7ebeMryuabgNrUzi0Aiw@mail.gmail.com
In Reply to: Re: [gentoo-dev] RFC: automatically mailing people on pkgcheck problems with their packages by Alec Warner
1 On Mon, Dec 7, 2015 at 7:05 PM, Alec Warner <antarus@g.o> wrote:
2 > I think there are a few issues:
3 >
4 > 1) Not everyone cares. I think you can either go for an opt-in approach
5 > (hard..you need to keep state) or offer clear opt-out / filtering
6 > instructions (link in the bottom of the email that points at the opt-out
7 > instructions on wiki.) Either decision will piss people off; I wouldn't fret
8 > it as long as you pick one.
9
10 I'd offer another option - just send them email and let them deal with
11 it. That will also tick people off, but again I wouldn't fret it. By
12 all means stick a header in the mail or something to make filtering
13 easy. It is far more sensible for users to filter emails than to
14 build a fancy filtering system into every application that might send
15 mail.
16
17 >
18 > 2) Unclear ownership of the problem. One guy makes a commit, 100 packages
19 > break. Who is responsible? Its really murky. This is really the toughest
20 > problem to me.
21
22 It isn't murky at all. Nobody should ever commit something that
23 simply breaks something else. Sometimes it is unforseen, and that
24 might be ok if it is rare, but the committer can still go and revert
25 their commit and sort things out.
26
27 If you want to make a commit that will break 100 packages you have
28 many valid options available to you.
29
30 1. You could go fix those 100 packages yourself so that they never
31 break, ideally posting notice somewhere that you're going to do it.
32 2. You could create a blocker and bugs against those 100 packages
33 asking their maintainers to fix it ahead of time, with a deadline.
34 3. After doing #2 if some packages still aren't fixed then mask them,
35 and make your commit.
36
37 If you do any of the above you'll get zero emails from the CI system,
38 as you aren't breaking the tree. Of course #3 is undesirable since
39 you're making a smaller unbroken tree, but as long as you give fair
40 warning it is acceptable.
41
42 Breaking the tree is just never correct. Sometimes it is hard to
43 catch and we need to bear with things since we're only human. But, if
44 the CI system sends out an email, something HAS gone wrong (either
45 with the tree or the CI system).
46
47 >
48 > 3) Problems are not stateless (e.g. many are transient as they are fixed
49 > later by developers.) Is the email I got 8 hours ago still relevant? What we
50 > normally see in items like this is a framework to manage "incidents". So
51 > what you might see is an incident App. The CI infrastructure detects a
52 > problem and opens an incident. At incident open, you trigger a notification
53 > (said email). Typically incidents can be claimed (a human takes ownership
54 > and fixes the incident) or perhaps a future run of the automation detects
55 > that the incident is fixed and closes the incident.
56 >
57 > The problem of course with 3 is that you are very much re-inventing a bunch
58 > of functionality that is already in bugzilla; which leads to the argument of
59 > 'why not open bugs for breakages' ;)
60
61 I guess you can do that, but do you propose CCing the bug to everybody
62 who made a commit in the time range? An email is definitely more
63 lightweight. I am also concerned that those bugs will just tend to
64 stay open if people avoid ownership of the issue. Who do you assign
65 the bug to (it isn't fair to make the package maintainer of the
66 affected package clean up somebody else's failures)?
67
68 I don't think this is a bad idea, but if email alerts are something
69 that will happen and bugs are something that won't happen, then I'd
70 prefer the email to nothing.
71
72 This is really a fairly lighthanded solution to the problem.
73
74 --
75 Rich

Replies