[Mesa-dev] [RFC] Mesa 17.3.x release problems and process improvements
Emil Velikov
emil.l.velikov at gmail.com
Thu Mar 22 00:28:49 UTC 2018
Hi all,
Having gone through the thread a few times, I believe it can be
summarised as follows:
* Greater transparency is needed.
* Subsystem/team maintainers.
* Unfit and late nominations.
* Developers/everyone should be more involved.
* Greater automation must be explored.
NOTES:
* Some of the details are not listed in the thread, but have been
raised in one form or another.
* The details focuses more on the goals, than the actual means.
* Above said, some details may have been missed - I'm mere human.
In detail:
* make the patch queue, release date and blockers accessible at any
point in time:
* queued patches can be accessed, via a branch - say wip/17.3,
wip/18.0, wip/18.1, etc. The branch _will be_ rebased, although
normally reverts are recommended.
* rejected patches must be listed alongside the reason why and
author+reviewer must be informed (email & IRC?) ASAP.
* we already document and track those in .cherry-ignore. can we
reuse that?
* patches with trivial conflicts can be merged to the wip branch
after another release manager, or patch author/reviewer has
confirmed the changes.
* patches that require backports will be rejected. usual rejection
procedure applies (described above).
* if there is delay due to extra testing time or otherwise, the
release manager must list the blocking issues and ETA must be
provided. ETA must be updated before it's reached. it may be
worth having the ETA and rejections in a single place - inside
the wip/ branch, html page, elsewhere.
* the current metabug with release blockers must be made more
obvious.
* release manager can contact Phoronix and/or similar media to
publicise expected delays, blockers or seek request for testing.
* teams are encouraged to have one or multiple maintainers. some of
the goals of having such people include:
* individuals that have greater interaction with the team and
knowledge about the team plans. rough examples include:
* backport/bug is needed, yet person is not available - on a
leave (sick, sabbatical, other) or busy with other things.
* team has higher priority with details not publicly available.
* can approve unfit or late nominations - see next section.
* to ensure cover and minimise stress it's encouraged to have
multiple maintainers per team and they are rotated regularly.
* list of maintainers must be documented
* unfit and late nominations:
* any rejections that are unfit based on the existing criteria can
be merged as long as:
* subsystem specific patches are approved by the team
maintainer(s).
* patches that cover multiple subsystems are approved by 50%+1
of the maintainers of the affected subsystems.
* late nominations can be made after the pre-release announcement.
they must be approved by the subsystem maintainers up-to X hours
before the actual release. approval specifics are identical to the
ones listed in 'unfit' section just above.
* developers/everyone should be more involved:
* with the patch queue accessible at any point, everyone is
encouraged to keep an eye open and report issues.
* developers should be more active in providing backports and
updating the status of release blocking bugs.
* release managers and team maintainers must check with developer
(via email, IRC, other) if no action has been made for X days.
* everyone is encouraged to provide a piglit/dEQP/etc testing
summary (via email, attachment, html page., etc). if they do,
please ensure that summary consistently available, regardless if
there's any regressions or not. if extra time is needed reply to
the list informing release managers
* in case of regressions bisection must be provided.
* testing - pre and post merge, automation:
NOTE: implementation specifics is up-to each team, with goals of:
a) results must be accessible reasonably easy
b) high level documentation of the setup and contact points are
documented
* with over 120 developers contributing to mesa, ambiguous patch
nominations will always exist.
* the obvious ones can be automated, others will be applied manually.
* release manager should deploy automation ensuring that all common
combinations build correctly. if particular combination is missing
interested parties should provide basic information/assistance for
setting one up.
* release manager will push the wip branch, after ensuring that
patches follow the criteria and passes build testing
* pre: automated runtime testing can be utilised at a later stage
with gitlab. it's does not seem feasible atm.
* post: teams can setup piglit/dEQP/etc testing, summary and/or
bisection. it should be documented if the testing is triggered on
push, polled every so often or otherwise.
I believe that we all agree on the above. If so the next step is to
update the documentation and each of us to grab a piece.
If you have feedback on any point, be that positive or negative, please
reply only with the hunk you have in mind.
Thanks
Emil
More information about the mesa-dev
mailing list