Gentoo Archives: gentoo-dev

From: "M. J. Everitt" <m.j.everitt@×××.org>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Improving the stabilisation process - part 1
Date: Thu, 24 Nov 2016 23:49:56
Message-Id: 58377C2F.9080100@iee.org
In Reply to: [gentoo-dev] Improving the stabilisation process - part 1 by Michael Palimaka
1 On 24/11/16 19:41, Michael Palimaka wrote:
2 > As I am sure everyone is aware by now, stabilisation requests on many
3 > architectures take a long time to be actioned. There are many factors
4 > contributing to this, but today I'd like to address three specific
5 > problems that unnecessarily delay developers actioning those requests.:
6 >
7 > 1. There's no easy way to pick atoms out of a stabilisation bug.
8 > Currently, atoms can appear, in a varying formations, in multiple
9 > locations: in the bug title, spread across multiple comments, in an
10 > attachment, [...].
11 >
12 > 2. There's no way to determine if a stabilisation request is valid (will
13 > pass repoman) until someone actually tries it.
14 >
15 > 3. There's no easy way to identify the level of testing required for any
16 > given request.
17 >
18 > To address this, I am proposing some changes to Bugzilla, some
19 > automation, and some improved tools.
20 >
21 >
22 > Bugzilla changes
23 > ================
24 >
25 > I'd like to introduce two new fields:
26 >
27 > 1. "Runtime testing required" - a drop-down list with three values:
28 > * (unset) - the default. The stabilising developer will use
29 > their best judgement as to what testing is required
30 > * Yes - the maintainer is specifically requesting runtime testing
31 > * No - the maintainer is happy to stabilise with only a build
32 > test (for example, trivial revision bumps, libraries with good test
33 > coverage, or otherwise at the maintainer's discretion)
34 >
35 > 2. "Atoms to stabilise" - a textarea containing a list of fully
36 > qualified atoms. Each atom may optionally be followed by a
37 > whitespace-delimited list of architectures for which that atom should be
38 > stabilised. If an atom is not followed by any list of architectures, it
39 > is assumed it should be stabilised for all architectures CC'd on the bug.
40 >
41 > Example atom list from a bug with amd64, arm, and x86 in CC:
42 >
43 > =app-foo/bar-1.2.3 # will be stabilised on amd64, arm, and x86
44 > =app-foo/baz-2.3.4 amd64 x86 # will be stabilised on only amd64 and x86
45 >
46 > I'd also like to introduce a flag called "repoman-tested". This will be
47 > used identify stabilisation requests that have been automatically
48 > repoman checked by a bot (described below).
49 >
50 > To prevent cluttering the Bugzilla interface, I suggest resurrecting the
51 > "Stabilisation" component and having these new fields appear only for
52 > bugs filed there and in "Security: Vulnerabilities" (so not to disrupt
53 > the security team's workflow).
54 >
55 >
56 > Automation
57 > ==========
58 >
59 > It's easy to forget to check that all the required dependencies are in
60 > stable before filing a stabilisation test, but this wastes the actioning
61 > developer's time. I have prepared a bot that repoman checks the list of
62 > atoms and flags the bug appropriately. This allows easy filtering out of
63 > broken requests.
64 >
65 >
66 > Improved tools
67 > ==============
68 >
69 > To support the above, I am also preparing some tools to streamline the
70 > process further:
71 >
72 > * A script to, given a bug, produce an architecture-specific list of
73 > atoms ready to feed into package.accept_keywords / emerge
74 >
75 > * An updated version of app-portage/tatt (allowing easy testing of USE
76 > flag combinations, reverse dependencies, committing keyword changes etc.)
77 >
78 > * Your idea here
79 >
80 >
81 > Too long; didn't read
82 > =====================
83 >
84 > We add a new box to Bugzilla to hold atoms on stabilisation request bugs
85 > so it's easy to extract programmatically.
86 >
87 > We add a new box to Bugzilla to indicate if a stabilisation request
88 > requires runtime testing or not to better focus effort.
89 >
90 > If your stabilisation request is invalid a bot will let you know and it
91 > will be easy to skip your request until you fix it.
92 >
93 >
94 > This will also help pave the way for future enhancements such as
95 > triggering automated build and QA tests so that the human only has to do
96 > runtime testing.
97 >
98 > Thoughts?
99 >
100 +1
101
102 Doing a great job there, kensington :]
103
104 Will grab a paint-brush for the 'shed, soon as my own have completed
105 erection....

Attachments

File name MIME type
signature.asc application/pgp-signature