python ./branch.py REL_133 --core --bundle "*" --branchpoint b1b89784f6df33d02d91401eaacc4aeab6bbedee --core-version 1.33.0 should do it, except that we can't use HTTP Auth on gerrit.
Description
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Creating new REL1_33 branch | mediawiki/core | REL1_33 | +131 -2 | |
Creating new REL1_33 branch | mediawiki/core | master | +131 -2 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | Reedy | T220652 Release MW 1.33 | |||
Resolved | Reedy | T220653 Branch REL1_33 for MediaWiki and deployed extensions |
Event Timeline
I've marked T218750 as a blocker, but alternatively we could take the changes @thcipriani made to make-wmf-branch to use ssh rather than HTTP Auth and re-implement them on make-release?
You can still use the rest api, just use your LDAP password instead of a http password generated through the ui.
Change 502916 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] Creating new REL1_33 branch
Mentioned in SAL (#wikimedia-releng) [2019-04-10T23:32:07Z] <James_F> Manually created REL1_33 branches for the core, vendor, and tarball extensions and skins. Eurgh. T220653
Change 502916 abandoned by Jforrester:
Creating new REL1_33 branch
Reason:
Wrong branch. Git review, you suck.
Change 502920 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@REL1_33] Creating new REL1_33 branch
Change 502920 merged by jenkins-bot:
[mediawiki/core@REL1_33] Creating new REL1_33 branch
This is now done manually for tarball extensions and skins, but needs doing properly for all the rest.
I've now also done this manually for the extensions.git and skins.git meta-repositories, which makes it easier to do later.
As 1.33 release is near, it would be important to do this for all repos. so the developers there hae enough time to prepare for the release.
I tried again to create the branches today. Gerrit rejects my requests. I was under the impression from speaking to @thcipriani that using my ldap credentials should work, however, this didn't seem to be the case:
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://gerrit.wikimedia.org/r/a/projects/mediawiki%2Fextensions%2F3D/branches/REL1_33
@mmodell using your ldap creds will work (i've done that before and simply curl --user <username>:'<pass>' http://gerrit.wikimedia.org/r/a/accounts/20after4 will work.
curl https://gerrit.wikimedia.org/r/a/projects/mediawiki%2Fextensions%2F3D/branches/REL1_33 --user paladox:<pass> )]}' { "web_links": [ { "name": "gitiles", "url": "https://gerrit.wikimedia.org/g/mediawiki/extensions/3D/+/refs/heads/REL1_33", "target": "_self" } ], "ref": "refs/heads/REL1_33", "revision": "92e685a15e8841882e2eccaef913b3ec8435fde0" }
curl https://gerrit.wikimedia.org/r/a/projects/mediawiki%2Fextensions%2F3D/branches/REL1_33 --user paladox:<pass> -X PUT
Branch "refs/heads/REL1_33" already exists
@Paladox: I get the same error 401 from every extension. I verified that I'm authenticating with my ldap username/password.
I'm blocked by T225308: Users with a different name in the cn field compared to uid field cannot use http auth. Literally anyone else but me could do it but my ldap account is a special kind of broken.
The script is definitely flaky...
$ python ./branch.py REL1_33 --core --bundle "*" --branchpoint b1b89784f6df33d02d91401eaacc4aeab6bbedee --core-version 1.33.0 Branching mediawiki/core to REL1_33 from b1b89784f6df33d02d91401eaacc4aeab6bbedee Already branched! Cloning into '/tmp/mw-branching-jkUeGx'... remote: Counting objects: 51925, done remote: Finding sources: 100% (22/22) remote: Getting sizes: 100% (15/15) remote: Compressing objects: 100% (48728/48728) remote: Total 784171 (delta 1), reused 784159 (delta 1) Receiving objects: 100% (784171/784171), 226.17 MiB | 3.38 MiB/s, done. Resolving deltas: 100% (666778/666778), done. Checking out files: 100% (7751/7751), done. Switched to a new branch 'REL1_33' Cloning into '/tmp/mw-branching-jkUeGx/mediawiki/skins/MonoBook'... remote: Counting objects: 229, done remote: Finding sources: 100% (14/14) remote: Getting sizes: 100% (8/8) remote: Compressing objects: 100% (9500/9500) remote: Total 1511 (delta 3), reused 1505 (delta 3) Receiving objects: 100% (1511/1511), 718.53 KiB | 1.58 MiB/s, done. Resolving deltas: 100% (984/984), done. Cloning into '/tmp/mw-branching-jkUeGx/mediawiki/skins/Timeless'... remote: Counting objects: 199, done remote: Finding sources: 100% (6/6) remote: Getting sizes: 100% (5/5) remote: Compressing objects: 100% (7498/7498) remote: Total 2905 (delta 0), reused 2900 (delta 0) Receiving objects: 100% (2905/2905), 1.73 MiB | 2.28 MiB/s, done. Resolving deltas: 100% (2100/2100), done. 'mediawiki/skins' already exists and is not a valid git repo Traceback (most recent call last): File "./branch.py", line 181, in <module> do_core_work(OPTIONS.branch, OPTIONS.bundle, OPTIONS.core_version) File "./branch.py", line 133, in do_core_work submodule]) File "/usr/lib/python2.7/subprocess.py", line 190, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/git', 'submodule', 'add', '--force', '--branch', 'REL1_33', u'https://gerrit.wikimedia.org/r/mediawiki/skins', u'mediawiki/skins']' returned non-zero exit status 1
Why does this just exit with no errors?
reedy@ubuntu64-web-esxi:/var/www/wiki/mediawiki/tools/release/make-release$ python ./branch.py REL1_33 --bundle "*" --branchpoint b1b89784f6df33d02d91401eaacc4aeab6bbedee --core-version 1.33.0 reedy@ubuntu64-web-esxi:/var/www/wiki/mediawiki/tools/release/make-release$
For the first error, it has to checkout mediawiki/skins before it can checkout mediawiki/skins/Timeless etc.
Doing this the old fashioned way
Using the REL1_33 branch in mediawiki/extensions, use those refs to create a REL1_33 branch in the extension, and then pushing it
Skins and extensions done
FWIW, netrc with my gerrit password WFM here too (like it does for the interwiki map)