Page MenuHomePhabricator

Branch REL1_33 for MediaWiki and deployed extensions
Closed, ResolvedPublic0 Estimated Story Points

Description

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.

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

https://gerrit.wikimedia.org/r/502916

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

In the end I did it manually rather than hold this up.

Change 502916 abandoned by Jforrester:
Creating new REL1_33 branch

Reason:
Wrong branch. Git review, you suck.

https://gerrit.wikimedia.org/r/502916

Change 502920 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@REL1_33] Creating new REL1_33 branch

https://gerrit.wikimedia.org/r/502920

Change 502920 merged by jenkins-bot:
[mediawiki/core@REL1_33] Creating new REL1_33 branch

https://gerrit.wikimedia.org/r/502920

Jdforrester-WMF changed the task status from Open to Stalled.Apr 11 2019, 12:43 AM
Jdforrester-WMF removed a project: Patch-For-Review.

This is now done manually for tarball extensions and skins, but needs doing properly for all the rest.

greg triaged this task as High priority.May 9 2019, 11:44 PM

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"
}

@Paladox: I get the same error 401 from every extension. I verified that I'm authenticating with my ldap username/password.

mmodell subscribed.

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

Jdforrester-WMF changed the task status from Stalled to Open.Jun 7 2019, 6:43 PM

Skins and extensions done

FWIW, netrc with my gerrit password WFM here too (like it does for the interwiki map)