Wikimedia Release Engineering Team/CI Futures WG/Meetings/2019-02-26
Kickstart meeting 2019-02-26
editOn Google Hangouts Meet.
- Brennen
- Lars
- Zeljko
Agenda
editThe goal of this meeting is to get started, get organised, and have a plan for how to achieve the goal of the working group.
- Are the participants OK participating in the work group?
- Brennen: OK
- Lars: OK.
- Zeljko: OK
- What is and isn't in scope of the WG?
- Evaualute current CI tools (Zuul, Gearman, Jenkins), and possible replacements.
- Code hosting, code review probably to stay with Gerrit.
- Brennen: I think I'd like to see this up for discussion eventually, but probably out of scope here.
- Ticketing probably to stay with Phabricator.
- In-scope: everything after a change is pushed to Gerrit until software runs in production.
- Given/assumed:
- production will run services/sites on containers in Kubernetes
- builds will ideally do that too
- Suggestion for plan:
- Gather requirements
- Evaluate candidates
- Discuss, come up with a recommendation
- Write and publish (short) report
- What did we consider? What are requirements?
- Rationale for recommendation.
- TODO: Lars to check with Greg how much time we should spend on this
- This week we interview people privately to collect requirements and agree on evaluation method (spreadsheet? reports?).
- Lars has already inteviewed Greg, Tyler, and asked Jeena about any CI related feedback from the developer interviews.
- Interview with Antoine scheduled for Wednesday.
- Anyone else in RelEng or otherwise?
- Wiki page with results: https://wikitech.wikimedia.org/wiki/Deployment_pipeline#Requirements_for_pipeline_tooling
- TODO: Z: req: debugging CI (when local works) is super-annoying, this should be made easier
- TODO: Z: req: we need to store at much artifacts as possible, when a test fails, VM or container should be made available for debugging to the dev
- Discuss current list of requirements and candidates.
- Postpone this for a later meeting and offline discussions.
- Z: Requirements list potentially a good use for voting.
- This week also start collecting list of possible candidates.
- Same page as above.
- Current: Zuul v2.5, Gearman, Jenkins; Antoine says this is untenable in the long run
- Zuul v3
- GitLab-CI (not for git hosting?)
- B: One advantage here would be as a wedge for introducing GitLab itself, if that's worth exploring
- Go CD
- Buildbot
- Jenkins on its own
- possible list: https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software
- others???
- B: I'm a little curious about https://sourcehut.org/ (probably not, but maybe worth a glance)
- Circle-CI (license?)
- https://semaphoreci.com (license?)
- TODO: Lars to make a weekly blog post with updates of the WG work, for publicity
- TODO: Lars to ask publically or within WMF for suggestions for candidates
- TODO: Ask for suggestions within our personal networks
- Evaluation method? Once we have a list of requirements and a list of candidates, how do we evaluate them?
- We should have a short list of very hard requirements
- Serious candidates need a demo / description of the workflow
- Probably sufficient to build a git repo - if it works with git, we're probably good
- A huge spreadsheet?
- Short one-page reports on each candidate?
- Why is (or is not) each candidate an acceptable choice?
- How do we divide the evaluation work?
- Have at least two people look at each thing?
- TODO: Lars to set up a new meeting for Thursday. One hour before the Docker-SIG meeting.
- TODO: Lars to create a Super Hard Requirements section
- TODO: Lars to move list to subpage or its own page
For the future
edit- Ask Dan if he wants to join the WG as well.
- Finish list of requirements
- Divide candidates for evaluation
- Add list of very hard requirements to Deployment pipeline page