Page MenuHomePhabricator

mediawiki/extensions and mediawiki/skins missing the REL1_XX branches
Open, Needs TriagePublic

Description

While individual extensions and skins have REL1_35 branches, the skins and extensions meta repos don't have a REL1_35 branch

Event Timeline

Mentioned in SAL (#wikimedia-operations) [2020-10-01T21:29:28Z] <James_F> Manually created mediawiki/skins.git REL1_35 at 796693cb7a2ee3191fcbe19769d341bd0530bd4a for T264365

Mentioned in SAL (#wikimedia-operations) [2020-10-01T22:36:01Z] <James_F> Manually created mediawiki/extensions.git REL1_35 at 7ab9a74c9ebbb22ad9fb9b7c95c91b7fad8bf8c6 for T264365

(This is still open because @Reedy wanted to work out why the script didn't do this automatically like it used to, and fix it so that it does do so again for REL1_36.)

Tagging the RelEng team for visibility.

Jdforrester-WMF renamed this task from mediawiki/extensions and mediawiki/skins missing a REL1_35 branch to mediawiki/extensions and mediawiki/skins missing the REL1_35 and REL1_36 branches.Apr 9 2021, 2:52 AM

We didn't fix this for REL1_36, it turns out.

Reedy renamed this task from mediawiki/extensions and mediawiki/skins missing the REL1_35 and REL1_36 branches to mediawiki/extensions and mediawiki/skins missing the REL1_XX branches.Jan 8 2023, 4:55 PM

Given the magic-updating sub-repo tech is gerrit-specific and we won't have it for GitLab, is it worth fixing this just for it to break in a few months' time?

I went digging at the reference logs on the Gerrit server for each of the super projects which are in files /srv/gerrit/git/mediawiki/{extensions,skins}.git/logs/refs/heads/REL* which after editing gives me:

mediawiki/extensions

REL1_23d1ce1a72cda2be82a0a6e1ed4ef61b665042b601MarkAHershberger <mah>1398101891 +0000push: created
REL1_27051f9ccbfa2f51f9c8b812224ed1d646c6a907a4Chad <demon>1462389668 +0000push: created
REL1_28a61ab94ad03c357091b2d5359bb529b1b56c31d2Chad <demon>1477432963 +0000created via REST from HEAD
REL1_29e87f858fe13627b6bbedf19ffec9c484333e27a1Chad <demon>1493317892 +0000created via REST from HEAD
REL1_30098000be138ce2d7d1db996e123193dfd4d609ebChad <demon>1505937026 +0000created via REST from HEAD
REL1_31d2522d5527e52c9c356258e8ed253ec740643581Chad <demon>1523998433 +0000created via REST from HEAD
REL1_32000188551b6d4f79f207f57240905c7abc87ca3920after4 <twentyafterfour>1539727946 +0000created via REST from master
REL1_33d783f0d64c341e4efb9497abf10aaa8d4fd364c3Jforrester <jforrester>1558259113 +0000created via REST from d783f0d64c341e4efb9497abf10aaa8d4fd364c3
REL1_34d91c77593de5e1f4484ba21fa762c7b991e7a442Dduvall <dduvall>1570215384 +0000created via REST from master

mediawiki/skins

REL1_27008047d3f734d8b70765447f8a647be89187c48dChad <demon>1462407956 +0000push: created
REL1_28a86d9bd340782b2c994dbac15089dc572ff3cbd5Chad <demon>1477432908 +0000created via REST from HEAD
REL1_294e51c229936d9f257a0b48cd660d40ed97269835Chad <demon>1493317819 +0000created via REST from HEAD
REL1_301690300693c990082e4bcd5b9413c595b6425a91Chad <demon>1505936955 +0000created via REST from HEAD
REL1_31c0e98913c79bc74266876d11eddb0744b7c65a5bChad <demon>1523998411 +0000created via REST from HEAD
REL1_32f7d963be0ce79633d299e61f223178a15062139220after4 <twentyafterfour>1539727859 +0000created via REST from master
REL1_33e856d2a221639931725405286c57106b5d35ef3dJforrester <jforrester>1558259241 +0000created via REST from e856d2a221639931725405286c57106b5d35ef3d
REL1_345d6d17886ceecfe9b5775bbe9689617b6665422cDduvall <dduvall>1570215365 +0000created via REST from master

So we originally created the branch by doing a direct push.

Since REL1_28 / Oct 25th 2016, we have been using the Gerrit REST API.

REL1_34 got created on October 4th 2019.

I am guessing the branch cut was done by one of the make-release scripts from https://gitlab.wikimedia.org/repos/releng/release.git . After digging in the code I eventually found the root cause f17b9beca72c15aaf5a0ff69dfead25e288afdb6 by @dduvall (which was done for REL1_34 branching T232024). The commit has:

Fixed some issues with retrieval of skins/extensions from Gerrit where collection repos such as mediawiki/extensions and mediawiki/skins were being included as well as repos beneath the project structure of extensions (e.g. mediawiki/extensions/Parsoid/cpp/contrib/libhubbub).

Which to me implies the super projects got removed on purpose. The code previously had:

for stuff in ['skins', 'extensions']:
    projects = _get_client().get(
        '/projects/?p=mediawiki/%s&b=%s' % (stuff, branch))
    for proj in projects:
        if projects[proj]['state'] == 'ACTIVE':
            things_to_branch.append(proj)

Which included the superproject, the commit changed the get query to append an extra / after stuff which got rid of mediawiki/extensions and mediawiki/skins super project.

I think that explains why the release branches are no more applied.

Given:

  • last release branch cut for mediawiki/extensions and mediawiki/skins was REL1_35
  • REL1_35 is no more supported (as of December 2023)
  • nobody complained about the lack of those release branches over the last four years

I propose, for the two super projects, to convert the existing REL branches to tags. That would fulfill my original request at T351341: Delete REL* branches from mediawiki/extensions and mediawiki/skins.