Page MenuHomePhabricator

Upgrade composer to 2.8.x
Closed, ResolvedPublic

Description

T360973: Upgrade composer from 2.6.4 to 2.7.2 | T410453: Upgrade composer to >= 2.9.1


https://getcomposer.org/changelog/2.7.3 PHP 8.4 support
https://getcomposer.org/changelog/2.7.4
https://getcomposer.org/changelog/2.7.5
https://getcomposer.org/changelog/2.7.6
https://getcomposer.org/changelog/2.7.7 Security
https://getcomposer.org/changelog/2.7.8 PHP 8.4 support
https://getcomposer.org/changelog/2.7.9
https://getcomposer.org/changelog/2.8.0
https://getcomposer.org/changelog/2.8.1

Fixes their E_STRICT issues on PHP 8.4 (same as T375707: Avoid E_STRICT in MediaWiki and WMF-deployed extension (Deprecated in PHP 8.4))

Also, the various security issues fixed in 2.7.7 probably warrant updating within 2.7.x for good measure, but might as well go to >= 2.8.1

  • Upgrade the CI docker images (patch)
  • Switch the first jenkins jobs over and test
  • Switch all remaining jobs (patch)
  • Re-build vendor (patch)
  • Update any documentation
  • Upgrade the developer docker images

Event Timeline

Reedy triaged this task as Low priority.Oct 3 2024, 5:25 PM
Reedy moved this task from Backlog to Other on the PHP 8.4 support board.
Reedy renamed this task from Upgrade composer to 2.8.0+ to Upgrade composer to 2.8.x.Oct 6 2024, 1:03 PM
Reedy updated the task description. (Show Details)
Reedy raised the priority of this task from Low to Medium.Oct 6 2024, 1:15 PM
Reedy updated the task description. (Show Details)
Reedy added a project: Security.

Change #1078078 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] WIP: dockerfiles: [composer-scratch] Upgrade composer from 2.7.2 to 2.8.1

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

Change #1078078 merged by jenkins-bot:

[integration/config@master] Docker: [composer-scratch] Upgrade composer from 2.7.2 to 2.8.1

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

Mentioned in SAL (#wikimedia-releng) [2024-10-06T20:51:46Z] <James_F> Docker: Re-building PHP images with composer v2.8.1, for T376409, and PHP 8.1 images with PHP 8.1.30-1+wmf11u1

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

[integration/config@master] jjb: Switch PHP jobs to use images with Composer v2.8.1

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

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

[mediawiki/vendor@master] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1078110 merged by jenkins-bot:

[integration/config@master] jjb: Switch PHP jobs to use images with Composer v2.8.1

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

Change #1078717 merged by jenkins-bot:

[mediawiki/vendor@master] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1080324 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/vendor@REL1_42] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1080324 merged by Jforrester:

[mediawiki/vendor@REL1_42] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1080326 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/vendor@REL1_41] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1080326 merged by Jforrester:

[mediawiki/vendor@REL1_41] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1080329 had a related patch set uploaded (by Reedy; author: Jforrester):

[mediawiki/vendor@REL1_39] Re-build with composer 2.8.1 (and update docs to match)

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

Change #1080329 merged by Reedy:

[mediawiki/vendor@REL1_39] Re-build with composer 2.8.1 (and update docs to match)

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

Reedy claimed this task.

"Upgrade the developer docker images" still isn't done even for composer 2.4 (they're on 2.3.3). Should we track that differently, as it keeps not getting done?

Which even are they? docker-compose.yml? Who uses them?

Which even are they? docker-compose.yml? Who uses them?

Most MW developers (including me); they're the primary guidance for how we tell people to develop and test MW.