Page MenuHomePhabricator

[scap] Recompute and sync git version cache when sync-* are used
Closed, ResolvedPublic

Description

The versions (of MW Core, skins, and extensions) listed on Special:Version is updated during a full scap. It is not updated by any of the sync-* commands.

This may lead to surprises when people are trying to verify what is deployed.


Version: wmf-deployment
Severity: enhancement
URL: http://te.wikipedia.org/wiki/Special:Version
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=53972

Details

Reference
bz36271

Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 22 2014, 12:25 AM
bzimport added a project: Deployments.
bzimport set Reference to bz36271.
bzimport added a subscriber: Unknown Object (MLST).

Add some recent Special:Version code contributors in case they have any idea on how to get it back to providing some useful version info.

Nikerabbit: Narayam on http://te.wikipedia.org/wiki/Special:Version now states (7a72390). Is that correct?

This only ever works if the git objects have been sync'd out...

Generally ignore the commit has, look at the wmf version instead (1.21wmf1 etc.). Wikis are deployed in groups based on that. All wikis running on 1.21wmf1 will be running on the same git commit as there is only 1 code base of 1.21wmf1.

And generally whatever the latest head[1] of a branch is according to gerrit will be what is deployed.

[1] https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=heads

Converting ticket into a general task to somehow keep the .git info synchronised. So far that only happens with scap afaik.

I guess the scap script is explictely ignoring .git folder...

No, scap is not explicitly ignoring anything. It synchronises the entire /common directory including all subfolders (including docroot, live-1.5/, php-1.21wmf1/ and anything inside it, such as .git/)

The problem is with the other sync scripts:

etc.

Reedy added a comment.Jan 7 2013, 1:40 PM
  • Bug 43673 has been marked as a duplicate of this bug. ***

Syncing the entire .git directory is unnecessary. The php code (GitInfo.php) only needs .git/HEAD and the .git/refs/heads/* files to extract the SHA1.

Updated bug summary to clarify the scope of this issue (sync-* scripts).

bd808 added a comment.Aug 22 2014, 1:02 AM

Changing bug summary to reflect work that would need to be done to implement this. Since the resolution of bug 53972, scap creates json files containing git version information which are synced to the MediaWiki servers and read by Special:Version and other GitInfo consumers.

The sync-* family of scripts could be updated to recompute the git info cache and sync these files along with the specified payload. Due to construction of the python implementation of scap, this actually would not be incredibly difficult to implement.

greg moved this task from To Triage to Backlog (Tech) on the Deployments board.Dec 1 2014, 11:49 PM
Rical added a subscriber: Rical.Dec 12 2014, 9:01 PM
greg edited projects, added scap2; removed Deployments.Feb 9 2016, 11:48 PM
greg updated the task description. (Show Details)Apr 4 2016, 8:50 PM
greg set Security to None.
greg removed a subscriber: wikibugs-l-list.
Krinkle removed a subscriber: Krinkle.Apr 4 2016, 11:32 PM
hashar removed a subscriber: hashar.Apr 5 2016, 12:55 PM
mmodell edited projects, added Scap; removed scap2.Feb 10 2017, 6:22 PM
Rical removed a subscriber: Rical.Feb 12 2017, 11:29 AM
demon closed this task as Resolved.Apr 11 2017, 4:06 PM
demon claimed this task.
demon added a subscriber: demon.

This is live everywhere now (scap 3.5.5), feel free to reopen if it doesn't work.

Wonderful. Thank you!