Wikimedia Release Engineering Team/Checkin archive/20171127

= 2017-11-27 =

Vacations/Important dates

 * https://office.wikimedia.org/wiki/HR_Corner/Holiday_List
 * How to do it


 * Dec 4th (Monday): Antoine
 * December 25 (Monday): Željko - holiday (Christmas Day)
 * December 26 (Tuesday): Željko - holiday (St Stephen's Day)
 * Dec 25-Jan 1 - End of year/new year holidays
 * January 1 (Monday): Željko - holiday (New Year's Day)

Rotating positions and absences
Maniphest query for deployment blocker tasks: https://phabricator.wikimedia.org/maniphest/?project=PHID-PROJ-fmcvjrkfvvzz3gxavs3a&statuses=open%28%29&group=none&order=newest#R

Nov 20 and Nov 27

 * Train: Chad
 * No train week of the 20th
 * wmf.10
 * SoS: Tyler / Mukunda
 * Out
 * Nov 20th - Dec 1st: Greg vacation
 * Nov 20th - 22nd: Mukunda vacation
 * Nov 23+24 - Thanksgiving

Dec 4 and Dec 11

 * Train: Chad
 * wmf.11
 * wmf.12
 * SoS: Mukunda
 * Out
 * Dec 4th (Monday): Antoine

Dec 18 and Dec 25

 * Train: NO ONE!
 * SoS: Chad

Actions from last meeting

 * ACTION: git-lfs in Gerrit
 * a test repo was created
 * question: git-lfs supports objects that are <= 2GB ... is that a problem?
 * phab side: still need to enable it and figure out storage backend
 * ACTION: see if the 2 gig limit is real :)

Release Engineering

 * Blocking
 * Blocked
 * [SSD] blocked on ops updating nodejs-devel base image: 
 * Updates
 * [MW Train] Reminder! This is your last few weeks of deployments for the year/quarter! No non-emergency deploys starts the week of December 18th. [wiki][email]
 * [MW Train] The post mortem for T181006 (Watchlist and RecentChanges failure due to ORES on frwiki and ruwiki) is scheduled for December 7th.
 * [Sunsetting WG] Meeting with Victoria and Toby tomorrow (Wednesday).
 * [nodejs browser tests] CirrusSearch and Mobile are active with migrations.
 * [nodejs browser tests] Investigation of using mwbot instead of nodemw (javascript api interfaces to MW). CirrusSearch uses mwbot. We use nodemw (maintained by a Wikia engineer).
 * [ruby] We will upgrade rubocop (Ruby linter/static analyzer) across the corpus of extensions due to a security issue (pointed out by the new Github security issue notification service). We (WMF production and CI) are not affected by the issue AND we have officially deprecated our ruby browser test stack (where 99% of all rubocup uses/dependencies are) BUT we’ll do it :) [wiki][email]
 * [techdebt] Wider conversations regarding SLAs/stewardship of components/software: https://www.mediawiki.org/wiki/Talk:Development_policy/Code_Stewardship
 * [techdebt] 2nd of the 3 tech debt series of blog posts (after the 0th introduction one on Code Health) is in drafting.
 * [CI] We’ve migrated almost all of the tox (python) jobs to the new container based CI infra.
 * [CI] We’ve migrated almost all of the tox (python) jobs to the new container based CI infra.

Last week

 * Blocking
 * Blocked
 * [SSD] blocked on ops updating nodejs-devel base image: 
 * Updates
 * [Team vacations] Mukunda is out all week. Dan is only working on Monday. And of course Thurs/Fri for all US staff.
 * [MediaWiki Train] Catching up after last week’s delay due to the wikidata database crash. No MW train this week after we’ve caught up on Monday. [wiki] [email]
 * [Offsite] More team offsite logistics. Will be doing some cross team gathering with Reading (who we’re sharing a hotel/couple days overlap with).
 * A lot of Gerrit repository and Github mirror administration this past week.
 * [Phabricator] Caused and fixed a degradation of Phabricator’s search functionality last Wednesday night/Thursday morning (15th and 16th). We apologize if you were affected by this. [wiki] [email]
 * [Phabricator] Caused and fixed a degradation of Phabricator’s search functionality last Wednesday night/Thursday morning (15th and 16th). We apologize if you were affected by this. [wiki] [email]

Puppet SWAT

 * list of patches you want to submit to Puppet SWAT

Logspam \ Last week's train updates

 * https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Roles#Train_Conductor


 * no new log messages with the train catch up.

Other Team Business

 * Offsite logistics: use the camper?

Q2 goal/project check-in

 * All of it in table form: https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Goals/201718Q2

Program 1: Outcome 5: Milestone 1: Migrate majority of developers to JavaScript based browser test framework (webdriver.io)

 * Due: End of this quarter
 * Quarter Goal Task: Port Selenium tests from Ruby to Node.js -


 * T139740 Port Selenium tests from Ruby to Node.js
 * MobileFrontend and CirrusSearch active


 * T164721 Run Selenium tests in CI for extensions
 * I need to do some refactoring on CI. Discussed it with Antoine.


 * T175179 Run selenium-EXTENSION-jessie Jenkins job for CirrusSearch
 * Done some experiments.


 * T181284 Investigate replacing nodemw with mwbot
 * CirrusSearch is using mwbot, they like it more than nodemw. I would like to standardize on one, but I have no preference.


 * T180379 Use createAccount in Selenium tests
 * Upstream relased new version, we can use it now.


 * T181285 Replace jshint with eslint in nodemw
 * Almost done. Upstream happy so far.

Ruby

 * T180878 Upgrade rubocop across the extension fleet
 * I can do it, if needed. Not clear if there is a real problem here.

Program 3: Outcome 1: Objective 1: Define a set of code stewardship levels (from high to low expectations)

 * Due: End of this quarter
 * Quatertly Goal task: -


 * started broader communication regarding proposed code stewarship definition and levels. Several people have responsed with feedback and thgouths.  Overall favorable reaction.
 * SLAs around bug fixes has been the biggest point of dicussion. This has also led to some discussions about "priority" and the lack of "severity".

Program 3: Outcome 1: Objective 2: Identify and find stewards for high-priority/high use code segment orphans

 * Due: End of next quarter
 * Quaterly Goal task -


 * addtional progress dependent on P3O1O1

Program 3: Outcome 2: Objective 1: Define a “Technical Debt Project Manager” role that regularly communicates with all Foundation engineering teams regarding their technical debt

 * Due: End of this quarter


 * more or less done.

Program 3: Outcome 2: Objective 2: Define and implement a process to regularly address technical debt across the Foundation

 * Due: End of next quarter


 * Blog post 1 of 3 in Tech Debt series published.
 * Blog post 2 of 3 almost complete will be sent out for review by mid-week.

==== Program 6: Outcome 2: Objective 2: Set up a continuous integration and deployment pipeline to publish new versions of an application to production via testing and staging environments that reliably reproduce production ====
 * Due: End of this quarter
 * Keyword: SSD
 * Complete build phase of release pipeline


 * Build test variant
 * Run test entrypoint w/developer feedback - services dependency
 * Build production variant w/developer feedback - services dependency
 * Tag production container
 * Push to production docker registry - ops dependency - staging namespace
 * Tracking: https://phabricator.wikimedia.org/T157469
 * current status: https://phabricator.wikimedia.org/project/view/2453/


 * Blubber.yaml added to mathoid last week: https://gerrit.wikimedia.org/r/#/c/392871/
 * CI fiddling needed, but should be working mostly
 * New blubber debian package released
 * Build on golang < 1.9 needs: https://phabricator.wikimedia.org/D895 (or something, see: https://phabricator.wikimedia.org/T179984#3787703 )
 * mixed feelings: https://phabricator.wikimedia.org/D895#17819
 * This meeting wednesday...
 * mark: "This meeting was replaced by the monthly planning meeting (happened last week)"

Program 1: Outcome 1: Objective 1: Scap (Tech Debt Sprint FY201718-Q2)

 * workboard


 * No progress last week (vacation & holiday)

Program 1: Outcome 5: Objective 1: Maintain existing shared Continuous Integration infrastructure

 * Goal: A generalized POC for a docker-based CI.
 * https://phabricator.wikimedia.org/project/view/3008/ (shipyard workboard)


 * migrated almost all tox jobs to docker

Program 1: Outcome 6: Milestone 2: Maintain Phabricator

 * No updates last week

Other work

 * Working with Lani to schedule Post Mortem for T181006 - Watchlist and RecentChanges failure due to ORES on frwiki and ruwiki.
 * we got a new logo! https://gerrit.wikimedia.org/r/static/wikimedia-codereview-logo.cache.svg

Team Kanban Board Review and Triage

 * closed and touched in the 7 days
 * No update for 4 weeks
 * No update for 3 weeks
 * No update for 2 weeks
 * No update for 1 week
 * All Open
 * Review To Triage column of #releng


 * Assigned
 * Unassigned

Once / month-ish review of backlog(s)

 * releng Review To Triage column of #releng
 * releng-kanban Review unassigned in kanban
 * releng-kanban Review 'backlog' colum of -kanban
 * releng-next - Review for things we need to put on our kanban backlog
 * releng-backlog - oh my, the huge backlog of things...

Kanban stats

 * Burnup chart