Hello all,
------
tl;dr: There's a difference between how the WMF Platform team and
Feature Teams commit to master. Why? How can we unify and/or make
testing from development branches easier for everyone?
------
Two weeks ago Ops and Platform both had all staff local in SF for a week
for a slew of meetings. I took that opportunity to make even more
meetings with people/teams regarding our dev and deployment process.
(I promise I'll be nicer in the future.)
You can see the fruits of that labor here:
https://wikitech.wikimedia.org/wiki/Deployments/Features_Process/General_Fe…
(More info linked from:
https://wikitech.wikimedia.org/wiki/Deployments/Features_Process )
One of the things that became apparent is that the Features Teams (eg:
E2, E3, Visual Editor) tend to have separate branches that they develop
on and only merge to master closer to their deploy windows. There is
some variation among them, of course, but the general idea stands.
This contrasts with the way the WMF Platform team develops; we
predominately commit to master as we develop with any new features set
as disabled in a config until it is ready. The Features Teams also use
the "disabled in a config until ready" bit, of course.
What is the reasoning for the use of this development/deployment
distinction on the Feature Teams? Mostly it is testing, from what I
could tell. Many teams have the development branch running on a test
instance that they, well, test against. Then, as things stabilize they
merge to master via Gerrit.
(Feature Teams members, please correct me if I'm wrong anywhere above,
generally: specifics may differ, of course, but is the overall notion
accurate?)
How do we encourage a more unified development, testing, and deployment
process across all WMF teams and community members (sometimes they are
one and the same)?
This issue should also be looked at with betalabs in mind; how can we
utilize betalabs to be the best test environment it can be? What code
should be running there and how often should it be updated? What tests
should be automatically run against it? These questions are almost out
of scope of this thread, but a solution to this thread should also have
an eye towards betalabs.
Thanks,
Greg
--
| Greg Grossmeier GPG: B2FA 27B1 F7EB D327 6B8E |
| identi.ca: @greg A18D 1138 8E47 FAC8 1C7D |