Wikimedia Release Engineering Team/CI Futures WG/2019 Mar 14

From MediaWiki.org
Jump to navigation Jump to search

WMF working group for the future of CI[edit]

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

Meeting 2019-03-08[edit]

On Google Hangouts Meet. Present:

  • Lars
  • Zeljko
  • Brennen
  • Dan


Agenda[edit]

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 Yes Done
  • 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

Notes[edit]

Concourse[edit]

  • 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[edit]

  • 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.

Requirements prioritising?[edit]

  • 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?[edit]

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

Next blog post[edit]

  • 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[edit]

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

Actions[edit]

  • 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