Wikimedia Release Engineering Team/Checkin archive/2022-09-28

= 2022-09-28 =

🏆 Wins

 * https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Monthly_notable_accomplishments
 * Sep '22 edition


 * GitLab meeting with Bryan at GitLab—ultimate is free if we want it, license compliance thing (https://docs.gitlab.com/ee/user/compliance/license_compliance/#license-compliance)
 * Stage-train automatic mode ran all the way through!
 * MW-to-k8s deploy via scap
 * Blocker/resource conversation
 * GitLab trusted runners testing can progress now that we can hit the internet
 * Successfully built an image that fetched node and python packages from the internet
 * sooo close to deploying phab with scap
 * Tyler fixed the toolforge script generating the Deployment page (got broken in May https://wikitech.wikimedia.org/wiki/Special:Contributions/DeploymentCalendarTool ).
 * Antoine's first Go patch \o/ \o/
 * Build images on GitLab trusted runners!
 * https://phabricator.wikimedia.org/phame/post/view/297/scap_backport_makes_deployments_easy/
 * Finished migrating the last two services to PipelineLib
 * Antoine can share his screen in firefox! :D
 * Blubber and scap review!
 * One command scap release—a 10,000% increase in productivity vs 1 year ago

🌻 Open source/Upstream contributions

 * https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Upstream


 * https://github.com/moby/buildkit
 * added Blubber to README ( https://github.com/moby/buildkit/pull/3127 )
 * Got a contribution a few days later https://github.com/wikimedia/blubber/issues/1 !

😶 Let's keep this empty

 * +1'd gerrit changes
 * Gerrit access requests

📅 Vacations/Important dates

 * https://office.wikimedia.org/wiki/HR_Corner/Holiday_List#2022
 * https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar
 * https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Time_off

September

 * 2 Sep: Thcipriani
 * 29Aug/2 Sep: Antoine is present but kids are back to school
 * 5 Sept: U.S. Labor Day (U.S. Staff with Reqs)
 * 1-6 Sept: Brennen (🔥)
 * 9-19 Sept: Jaime
 * ~14-18 Sept: Brennen (⛺🪕)
 * 22–23 Sept, ½ day 26 Sept: Tyler (⛰️)


 * 29-30 Sept: Dan (🏝🌋)
 * (28|29)-30 Sept: Chad (🏄‍♂️)

October

 * 3 Oct: Dan (🏝🌋)
 * 10 Oct: Indigenous Peoples' Day (Columbus Day)

November

 * 8 Nov: Election Day (US staff with reqs)
 * 11 Nov: Veteran's Day (US staff with reqs)
 * 24 Nov: Thanksgiving (US staff with reqs)
 * 25 Nov: Day after Thanksgiving (US staff with reqs)

December

 * 23 Dec: Christmas Eve (Observed in lieu) (US staff with reqs)
 * 24 Dec–31 Dec: Global end of year holiday

🔥🚂 Train

 * https://tools.wmflabs.org/versions/
 * https://train-blockers.toolforge.org/
 * https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar


 * 22 Aug - wmf.26 - Antoine + Chad
 * 29 Aug - wmf.27 - Dan + Antoine (Brennen out)
 * 5 Sep - wmf. 28 - NOT Jaime ;) — Jeena + Dan (Brennen out 'til Tues)
 * 12 Sep - 1.40.0-wmf.1 – Ahmon + Jeena (Jaime, Brennen Out Wed)
 * 19 Sep - wmf.2 - Jaime + Ahmon


 * 26 Sep - wmf.3 - Brennen + Jaime
 * 3 Oct - wmf.4 - Chad + Brennen
 * 10 Oct - wmf. 5 - Dan + Chad (Monday holiday)


 * 17 Oct - wmf.6 - Antoine + Dan
 * 24 Oct - wmf.7 - Jaime + Antoine
 * 31 Oct - wmf.8 - Jeena + Jaime
 * 7 Nov - No Train (Election Day Tues.; Veteran's Day Fri.)
 * 14 Nov - wmf.10 - Brennen + Jeena
 * 21 Nov - No Train (Thanksgiving Thu–Fri)
 * 28 Nov - wmf.12 - Ahmon + Brennen
 * 5 Dec - wmf. 13 - Chad + Ahmon
 * 12 Dec - wmf.14 - Antoine + Chad
 * 19 Dec - No Train
 * 26 Dec - No Train

🫶 Expectations
I, thcipriani, meet with managers a lot (surprise!)

I started asking: "what are you expectations of RelEng"?

Raw answers:


 * Provide code hosting +1 +1+1+1
 * Templating CI best practices, especially for internal projects +1 +1+1
 * Best practices for running our projects — get a lot of pushback -1
 * Creating a build service with GitLab +1
 * Developer collaboration tools -1 -1
 * Is this code hosting? CI?  Dev environments?  Preview env? screen sharing tools?
 * Phab, I think. Maybe Phab + GitLab/Gerrit
 * Getting code to production +1 +1 +1+1+1+1
 * That is pretty much the primary purpose of the team purpose?
 * Code review hosting +1+1+1
 * Deployment tooling evolution+1+1+1+1
 * Automated testing -1 (CI yes but not testing toolchain)
 * Engineer education
 * Built predictable tools to allow developers to build CI&CD workflows +1 +1
 * Training on working with our systems (vague) +1
 * Collaborate to create testing environments+1 +1+1
 * Developer stats -1
 * MediaWiki config expertise -1-1 -1 (or I need to learn a whole lot) -1
 * Provide guidance teams can adhere to +1+1 (advise best practices for deploying services like config, ci, etc)
 * Moving MediaWiki to Kubernetes alongside ServiceOps +1+1+1+1 +1
 * Work to build a path to production+1 +1 +1
 * CI infrastructure+1+1 +1+1

⚠️ Tech Internship opportunity

 * ⚠️ Proposals due Sept 23rd 26th
 * Team: RelEng
 * Manager: Tyler Cipriani

update
 * I (thcipriani) missed the deadline
 * It was important to me to set up anyone we add to the team for success
 * None of our proposals (thanks Chad!) quite did that

Sprint stuff

 * Phab deploy: How goeth?
 * Deploy to phab2002 and see what happens
 * Ping Daniel next week

GitLab-a-thon II: The Wrath of Khan 👾(?)

 * Let's work on the name/emoji

Goals:


 * 1) Move Blubber and Scap fully to GitLab
 * https://phabricator.wikimedia.org/T301168
 * Gerrit repo is archived
 * Blanked
 * Instructions/script/something for updating local upstream (assuming someone was trying to push)
 * https://phabricator.wikimedia.org/T307533
 * https://phabricator.wikimedia.org/T317820 (from the previous sprint)
 * All CI/CD works the same as in Gerrit
 * https://phabricator.wikimedia.org/T307536
 * We can deploy it from GitLab (well, promote it?)
 * Documentation points to GitLab
 * https://phabricator.wikimedia.org/T307538 (from the previous sprint)


 * 1) Establish a GitLab CI Library
 * Namespace exists on GitLab
 * Used via  or   or whatever in a Real™ project
 * Keep an eye on how things are done in integration/config.git
 * Reference/port PipelineLib actions as we implement the shared library
 * https://wikitech.wikimedia.org/wiki/PipelineLib/Reference#Actions


 * 1) Stretch: List of Gerrit/Jenkins integrations
 * List of places we link to Gerrit & Jenkins + What we gather; e.g.:
 * IRC: New merge request, merged notification, & test failure notifications (IRC/Slack) for GitLab
 * https://phabricator.wikimedia.org/T288381
 * https://docs.gitlab.com/ee/user/project/integrations/irker.html maybe
 * Phabricator: patch notification for MR with “Bug:” trailer
 * https://phabricator.wikimedia.org/T265617
 * Phabricator: extension change for collected patches
 * MediaWiki: that thing that assigns you to reviews in Gerrit for a code-path
 * How do these bots link to Gerrit or Jenkins
 * Does GitLab do the same thing
 * This is probably a Google doc that becomes a wikipage that becomes a bunch of tasks