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 |