Page MenuHomePhabricator

Convert old release branches to tags
Closed, ResolvedPublic

Description

From https://www.mediawiki.org/wiki/Version_lifecycle , supported branches are REL1_43 and upward. MediaWiki repositories still have the old REL1_39, REL1_40, REL1_41, REL1_42 which should be converted to tag.

The previous conversion had been conducted via T380841 which caught up with release branches as old as REL1_20.

Example noop usage using https://gitlab.wikimedia.org/repos/releng/release.git

tox -e make-release --notest
./.tox/make-release/bin/python ./make-release/branch.py --noop --delete --abandon --bundle wmf_core REL1_39

Event Timeline

Mentioned in SAL (#wikimedia-releng) [2026-06-11T08:56:57Z] <hashar> Converting REL1_39 branches to tags # T428864

Mentioned in SAL (#wikimedia-releng) [2026-06-11T09:05:19Z] <hashar> Converting REL1_40 branches to tags # T428864

Mentioned in SAL (#wikimedia-releng) [2026-06-11T09:18:30Z] <hashar> Converting REL1_41 branches to tags # T428864

Mentioned in SAL (#wikimedia-releng) [2026-06-11T09:18:56Z] <hashar> Converting REL1_42 branches to tags # T428864

Logs

REL1_39P94064
REL1_40P94065
REL1_41P94066
REL1_42P94067

The wmf_core bundle might not cover all extensions/skins having release branches. It does not include:

  • mediawiki/core (because I forgot to pass --core to the script)
  • mediawiki/extensions
  • mediawiki/skins

Mentioned in SAL (#wikimedia-releng) [2026-06-11T09:45:10Z] <hashar> Converted mediawiki/core branches REL1_39, REL1_40, REL1_41, REL1_42 to tags # T428864

mediawiki/extensions and mediawiki/skins do not have release branches. For core I reran the script with --core and an empty bundle:

Created https://gerrit.wikimedia.org/g/mediawiki/core/+/refs/tags/REL1_39 [19ddcf09181a8b7d2837b4c99e11184c53047697]
Deleting branch REL1_39 in mediawiki/core
Created https://gerrit.wikimedia.org/g/mediawiki/core/+/refs/tags/REL1_40 [acb316beab5c727aa9d540ea0dfe2dceb914caa2]
Deleting branch REL1_40 in mediawiki/core
Created https://gerrit.wikimedia.org/g/mediawiki/core/+/refs/tags/REL1_41 [673b3128d09febe338a577b102808efdc941b9af]
Deleting branch REL1_41 in mediawiki/core
Created https://gerrit.wikimedia.org/g/mediawiki/core/+/refs/tags/REL1_42 [30d9707511274f256db07dc71010ae0bc6e33d28]
Deleting branch REL1_42 in mediawiki/core

Left to do is to send an announce with the commands one can run locally to prune the old branches (see T380841).

To get rid of the legacy branch from a local clone:

git fetch origin --prune

For the superprojects mediawiki/extensions or mediawiki/skins use:

git -c fetch.prune=1 submodule update --init

Mentioned in SAL (#wikimedia-releng) [2026-06-11T14:46:12Z] <hashar> On all MediaWiki repos, converting old release branches up to REL1_42 included to tags. Last time I missed non wmf repo # T380841 | T428864

Mentioned in SAL (#wikimedia-releng) [2026-07-08T12:27:18Z] <hashar> deployment-prep: on deployment server: clearing old branches for mediawiki/extensions and mediawiki/skins # T428864

Mentioned in SAL (#wikimedia-releng) [2026-09-17T15:09:51Z] <hashar> gerrit: convert old REL branches on VisualEditor/VisualEditor ( T380841 T428864 T428911 ) using: for branch in REL1_25 REL1_26 REL1_27 REL1_28 REL1_29 REL1_30 REL1_31 REL1_32 REL1_33 REL1_34 REL1_35 REL1_36 REL1_37 REL1_38 REL1_39 REL1_40 REL1_41 REL1_42 REL1_44; do ./.tox/make-release/bin/python ./make-release/branch.py --delete --abandon --bundle ve $branch; done;

I think this move makes it more difficult for external parties to maintain mediawiki installs. Additionally it precludes the possibility of backporting things to unmaintained branches in exceptional circumstances (Such as in the case of an extremely critical vulnerability that was being actively exploited in the wild).