Wikimedia Release Engineering Team/CI Futures WG/Meetings/2019-03-14

= WMF working group for the future of CI =

Context: https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/CI_Futures_WG

= Meeting 2019-03-08 =

On Google Hangouts Meet. Present:


 * Lars
 * Zeljko
 * Brennen
 * Dan

Agenda
The goal of this meeting is to review what's happened since yesterday's meeting and plan work until next meeting.

Actions from previous meeting:
 * TODO: Lars: https://phabricator.wikimedia.org/T217595 (Concourse CI)
 * Done: Brennen to double-check gerrithub ✅
 * Done: Željko to continue to look for more possible candidates
 * TODO: Lars to document how to build Blubber and run unit tests in CI
 * TODO: Dan to evaluate JenkinsX
 * TODO: Brennen to evaluate Zuul v3
 * TODO: Zeljko to evaluate HarborMaster

Concourse

 * Lars is still mid-evaluation of Concourse. Anyone else looked at it?
 * Brennen: Started down this path, will give it a few more minutes this afternoon.
 * We met with Pivotal. Comments? Opinions?
 * Z: They were open, that's a good sign.
 * Discussion of open core.
 * Lars: Bigger worry is that it's much harder to get started than GitLab - still haven't implemented toy CI project. In the case of GitLab, it was 10 minutes or so (ignoring Go problems) - Concourse is more work.  GitLab - added a .yaml file.
 * Lars: Concourse would require some automation to make things as easy as GitLab.
 * Dan: It might be a benefit to have pipeline definition decoupled. Some people complain about having to add metadata to repos.
 * Z: People having to be aware of separate repos and stuff has disadvantages.
 * Lars: We need to make things so easy that people never bother us and don't ever complain about anything again. :)
 * Dan: Another concern is that it's built around the assumption of a pull model - polls repos. Our system is built on listening to the Gerrit event stream.
 * We can build the event-based feature, but it something we'd have to own.
 * Discussion of how we're going to have to build scaffolding for anything we propose, probably.
 * Discussion of code review, issue tracking, hard decisions.
 * Lars: It seems like GitLab would require less scaffolding than Concourse.
 * Summary of discussion: We haven't totally ruled out Concourse yet, though there are some marks against.

Other evaluations, discussion

 * JenkinsX?
 * Dan: Didn't get far enough to give substantial feedback, but the basic thing to note is that it's sort of a toolchain detached from Jenkins itself. Yet another slightly orthogonal piece to the puzzle.
 * Discussion of CD foundation - who's actually doing something vs. marketing; Tekton. Who is committing to change their system?  We don't know.
 * Lars: CD foundation seems too late to affect this WG, too early to affect anyone else.
 * Z: Those tools do look like things that're actually used by big orgs.
 * Dan: Jenkins X is a big toolchain that's being used to change the model for CI...  Different model than traditional Jenkins setup.
 * Dan: One thing to consider is k8s. If we focus on things that can utilize our k8s infrastructure, I think that's an important decision point.
 * Lars: Some requirements (mobile) aren't going to fit k8s.
 * Dan: We might be able to bridge here, but it's going to be a PITA no matter what.
 * Z: Maybe we should consider mobile app CI out of scope for the moment.
 * Lars: We've been asked to keep it in mind.


 * Zuul v3?
 * Brennen hasn't started yet.


 * Harbormaster?
 * Zeljko hasn't started yet, had a short chat with Mukunda - similar model to GitLab.
 * Mukunda offered evaluation assistance here.


 * Sourcehut
 * Summary of Brennen's eval here: https://phabricator.wikimedia.org/T217852
 * TODO: Zeljko to take a quick second look.

Requirements prioritising?

 * Should we order the hard requirements so that the list starts with the ones we think are most important, and maybe demote the rest to softer requirements?
 * What would be a good process for this?


 * TODO: Lars to set up list for voting after this meeting
 * TODO: All to vote on hard requirements in Etherpad

Winnow down list of candidates?

 * Quick survey of stuff in spreadsheet.
 * TODO: Zeljko to create some tickets.

Next blog post

 * What can we put into the next blog post (Friday)?
 * Would be nice to report some progress.
 * Discuss blog post in meeting next week.

Next meeting

 * When shall we meet next? What should we do by then?
 * Monday 17:00 UTC

= Actions =


 * TODO: Dan to reparent the Jenkins X ticket to the main WG ticket
 * TODO: Zeljko to have a look at sourcehut
 * TODO: Lars to check with Greg on how to report