Page MenuHomePhabricator

Re-build CI containers with Composer 2.x
Closed, ResolvedPublic

Description

At some point we need to rebuild CI containers with Composer 2.0 bundled, rather than Composer 1.x (I'm not sure if there's value in bundling both... Maybe there is for a while? For REL1_31 and maybe other usages?)

In https://gerrit.wikimedia.org/r/c/mediawiki/vendor/+/667051/2/composer.json I changed the composer-plugin-api version to ^2.0 to prevent (after it's merged) anyone accidentally running things with composer 1.x, but it won't pass CI.

Certainly, for now, it could be ^1.1||^2.0, but eventually, it seems a useful safeguard to have so that they get a strong warning if they try to run it with old composer 1.x

MediaWiki 1.31 doesn't support composer 2, and never will... And is EOL in June 2021, so we probably don't care about this use case too much. And we may just want to wait until that has passed, and drop composer 1.x support in CI completely.

At some point, https://blog.packagist.com/deprecating-composer-1-support/ will start to affect us

Reduced v1 metadata API update rate starting in May 2021
The update rate for new versions will be reduced from every-minute currently to once every 15 minutes. This means new releases will take a few minutes longer to be available for installation with Composer 1.x.

I know 15 minutes isn't a lot, but it's going to be enough in cases for CI's composer queries to fail for a little while...

Related Objects

StatusSubtypeAssignedTask
OpenNone
ResolvedReedy
ResolvedReedy
Resolvedtstarling
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedSecurityZabe
ResolvedBUG REPORT Ladsgroup
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedMstyles
ResolvedSecuritysbassett
ResolvedSecurityRhinosF1
ResolvedSecurityLegoktm
ResolvedSecurityDannyS712
ResolvedSecurityUrbanecm_WMF
ResolvedSecuritymewoph
ResolvedSecurityUrbanecm_WMF
ResolvedSecurityUrbanecm_WMF
ResolvedSecurityTheVoidwalker
ResolvedReedy

Event Timeline

Reedy renamed this task from Build CI containers with Composer 2.0 to Re-build CI containers with Composer 2.0.Apr 11 2021, 3:17 PM
Reedy updated the task description. (Show Details)

Change 683030 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] [DNM] dockerfiles: [composer-scratch] Upgrade to 2.0.13 and cascade

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

hashar added a parent task: Restricted Task.May 27 2021, 11:17 AM
Reedy renamed this task from Re-build CI containers with Composer 2.0 to Re-build CI containers with Composer 2.x.Thu, Sep 30, 9:46 PM
Jdforrester-WMF changed the task status from Open to In Progress.Mon, Oct 4, 4:26 PM

Change 683030 merged by jenkins-bot:

[integration/config@master] dockerfiles: [composer-scratch] Upgrade to 2.1.8 and cascade

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

Mentioned in SAL (#wikimedia-releng) [2021-10-04T18:12:52Z] <James_F> Docker: Publish composer 2.x-based images for T279857

Change 726039 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] jjb: Switch everything to images using composer 2.x not 1.x

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

Change 726039 merged by jenkins-bot:

[integration/config@master] jjb: Switch everything to images using composer 2.x not 1.x

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