Upgrade integration/composer to 1.4.1 stable
Open, NormalPublic

Paladox created this task.Jan 31 2016, 5:31 PM
Paladox updated the task description. (Show Details)
Paladox raised the priority of this task from to Needs Triage.
Paladox added a subscriber: Paladox.
Restricted Application added subscribers: StudiesWorld, Aklapper. · View Herald TranscriptJan 31 2016, 5:31 PM

@Legoktm can I add you too task please.

Paladox set Security to None.Jan 31 2016, 5:32 PM
Paladox removed a subscriber: Legoktm.

Change 267548 had a related patch set uploaded (by Paladox):
Update composer to 1.0.0-alpha11

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

Change 267548 abandoned by Hashar:
Update composer to 1.0.0-alpha11

Reason:
Krinkle / Paladox had a discussion on https://gerrit.wikimedia.org/r/259241 stating alpha11 is broken. We need a more recent version, lets track it on https://gerrit.wikimedia.org/r/#/c/270548/

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

Change 270548 had a related patch set uploaded (by Paladox):
Update composer to dev-master

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

Change 283852 had a related patch set uploaded (by Paladox):
Update composer to 1.0.0 stable

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

Change 270548 abandoned by Paladox:
Update composer to 1.0.0 stable

Reason:
I moved it https://gerrit.wikimedia.org/r/#/c/283852/ here.

Reason since it is a little hard to set permission of files in windows to work on Linux. I kept the symblinks in that patch and it passes.

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

Paladox renamed this task from Upgrade integration/composer to 1.0.0-alpha11 to Upgrade integration/composer to 1.0.0 stable.Apr 17 2016, 11:00 PM
Paladox updated the task description. (Show Details)
Paladox updated the task description. (Show Details)

Change 283852 merged by jenkins-bot:
Update composer to 1.1.0-RC stable

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

Paladox closed this task as Resolved.May 1 2016, 8:44 AM
Paladox claimed this task.

The patch was merged and is now running the stable 1.1.0-rc composer release. Confirmed by https://gerrit.wikimedia.org/r/#/c/267546/ which would have failed the rebase if we were still using the old composer version.

Paladox removed a subscriber: gerritbot.
JanZerebecki reopened this task as Open.May 1 2016, 12:03 PM
JanZerebecki added a subscriber: JanZerebecki.

Reverted in https://gerrit.wikimedia.org/r/#/c/286305/ because that composer version generates an autoloader that is not compatible with PHP 5.5.
https://gerrit.wikimedia.org/r/#/c/286298/
https://integration.wikimedia.org/ci/job/php55lint/10632/console

10:08:07 PHP Parse error:  syntax error, unexpected '.', expecting ')' in vendor/composer/autoload_static.php on line 10
10:08:07 Errors parsing vendor/composer/autoload_static.php
10:08:07 xargs: php5: exited with status 255; aborting

@JanZerebecki would composer 1.0.3 work or is it a bug in composer. Has it been reported upstream.

Also @JanZerebecki I doint know why it is linting vendor/composer files when it shoulden.

@JanZerebecki yes it is a bug, static loading should only be used on php 5.6 or above according to https://github.com/composer/composer/releases/tag/1.1.0-RC

So using composer 1.0.3 should be safe.

Change 286306 had a related patch set uploaded (by JanZerebecki):
Update composer to 1.0.3 stable

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

Change 286306 merged by jenkins-bot:
Update composer to 1.0.3 stable

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

JanZerebecki added a comment.EditedMay 1 2016, 12:29 PM

We will need to use config.platform in various places when using 1.1.0-RC. E.g. the build host for Wikidata is running PHP 5.6 but the result needs to be compatible with PHP 5.5.
Why shouldn't it lint those files?

We will need to use config.platform in various places when using 1.1.0-RC. E.g. the build host for Wikidata is running PHP 5.6 but the result needs to be compatible with PHP 5.5.
Why shouldn't it lint those files?

Because I thought that it would be up to upstream to lint anything in those files since they are auto generated.

@JanZerebecki maybe because when I re generated composer by composer update using php 7 it would have use the new optimised autoloader.

Maybe if we generate composer with php 5.5 it wont use the composer optimised autoloader.

JanZerebecki added a comment.EditedMay 1 2016, 1:02 PM

Because we generate those files and not upstream (even though the exact upstream code does) we need to run the tests for those generated files.

The failure does not only happen when producing a build of composer, but when that version is used on the Wikidata build host to build Wikidata. When we use config.platform, where we use composer to produce a build that is saved, then it should work even when that is done with a newer PHP version. There are probably more place in gerrit.wikimedia.org that will need to do this, but when we changed vendor.git, Wikidata.git and composer.git to use config.platform we can upgrade to 1.1.0-RC.

@JanZerebecki I think 1.1.0 would have work since the static autoload file would only be loaded if your using php 5.6, it generated it but would not have used it. We should ignore that file in the linter for php 5.5 or below.

Yes, perhaps it might still generate code that will fail the lint even when we would use config.platform. We will need to find out. There is also the linting step of scap during deployment (not sure if that only covers mediawiki-config or the whole tree including core and all extensions). Not doing linting seems like a bad idea, I'd like to avoid that.

hoo added a subscriber: hoo.May 11 2016, 5:34 PM
Paladox renamed this task from Upgrade integration/composer to 1.0.0 stable to Upgrade integration/composer to 1.1.1 stable.May 19 2016, 8:14 AM
Paladox updated the task description. (Show Details)
Paladox removed a project: Patch-For-Review.
Paladox added a project: Composer.
hashar triaged this task as Normal priority.Jun 23 2016, 12:08 PM
Paladox renamed this task from Upgrade integration/composer to 1.1.1 stable to Upgrade integration/composer to 1.1.2 stable.Jun 25 2016, 5:48 PM
Paladox updated the task description. (Show Details)

Change 320098 had a related patch set uploaded (by Paladox):
Add a script so we can disable loading the new autoload_static file

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

Change 320098 abandoned by Paladox:
Add a script so we can disable loading the new autoload_static file

Reason:
Yes but some of our linters doint support it expecially php -l.

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

Paladox renamed this task from Upgrade integration/composer to 1.1.2 stable to Upgrade integration/composer to 1.3.1 stable.Jan 13 2017, 9:21 AM
Paladox updated the task description. (Show Details)

Change 339645 had a related patch set uploaded (by Hashar):
Update composer to 1.1.0

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

Paladox renamed this task from Upgrade integration/composer to 1.3.1 stable to Upgrade integration/composer to 1.3.2 stable.Feb 24 2017, 4:20 PM
Paladox updated the task description. (Show Details)

Change 339645 merged by Hashar:
[integration/composer] Update composer to 1.1.0 with composer 1.1.0/PHP 5.5

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

Mentioned in SAL (#wikimedia-releng) [2017-03-02T09:18:02Z] <hashar> upgrading composer on permanent slaves for T125343 : salt -v '*slave*' cmd.run 'cd /srv/deployment/integration/composer && git pull'

Should we try upgrading to composer 1.3.2 now?

Change 340780 had a related patch set uploaded (by Paladox):
[integration/composer] Update composer to 1.1.3

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

dcausse added a subscriber: dcausse.Mar 2 2017, 6:04 PM

It looks like the update to composer 1.1.0 (perhaps only tangentially related?) has broken all jenkins runs to the CirrusSearch extension via the mwext-php70-phan-jessie job no longer being able to finish setting up: https://gerrit.wikimedia.org/r/#/c/340777/

Additionally it looks like not only CirrusSearch, perhaps all jobs using mwext-php60-phan-jessie? See also https://gerrit.wikimedia.org/r/#/c/340718/

Change 340780 merged by Paladox:
[integration/composer] Update composer to 1.1.3

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

Change 340791 had a related patch set uploaded (by Paladox):
[integration/composer] Update composer ti 1.3.2

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

Paladox renamed this task from Upgrade integration/composer to 1.3.2 stable to Upgrade integration/composer to 1.4.1 stable.Mar 16 2017, 8:32 PM
Paladox updated the task description. (Show Details)
Dzahn added a subscriber: Dzahn.Sep 27 2017, 12:47 AM

Bump, this has been labeled "next" since February and there is a change sitting in Gerrit since March that is "Update composer to 1.4.2" but it's large, 18.000 lines changed or so.

https://gerrit.wikimedia.org/r/#/c/340791/

Does that have a chance to get merged?