Skip to content

fix(composer): drop PHP 5.x; test on PHP 8.3 and 8.4 - #591

Merged
cblanc merged 4 commits into
mainfrom
devin/1791278439-php83-84
Oct 8, 2026
Merged

cblanc merged 4 commits into
mainfrom
devin/1791278439-php83-84

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

PHP 8.1 is end of life and 8.2 ends on 31 Dec 2026. This PR moves Docker and CI onto 8.3 and 8.4, and narrows the PHP versions composer.json advertises.

  • composer.json: "php": "~5.5.0|~5.6.0|>=7.0|>=8.0" becomes "^7.0||^8.0". This drops PHP 5.x and adds an upper bound, while 7.x and 8.x stores can still install.
  • CI: removes ci-81.yml and ci-82.yml, and adds ci-83.yml and ci-84.yml. There was no CI job for 8.4 before.
  • Docker: adds docker/83.yml and docker/83-arm64.yml for Magento 2.4.8-p4 on PHP 8.3 with OpenSearch. This is the same stack as 8.4.
    • Makefile: PHP ?= 84, and SEARCH_HOST uses OpenSearch for both 83 and 84.
    • Dockerfile: BASE_IMAGE now defaults to the 8.4 image.
    • make up now passes --build. Without it, switching PHP= reused the previously built magento-web image, so the container stayed on the old PHP version.
  • README.md and CLAUDE.md now give the PHP versions we test on, and the dead Magento 2.1–2.4 badges are replaced.

The 8.1 and 8.2 Docker configs are still there, so those versions can be run locally.

Dependency: ci-83 uses idealpostcodes/magento-test:m2.4.8-p4-php8.3, which isn't on Docker Hub yet. That image is added in ideal-postcodes/magento-test (companion PR) and must be published with make publish-83 before this check can pass.

Test plan

  • Ran PHP=84 make up, then the Cypress e2e suite with ak_go: 3/3 passed. The first run hit one flaky Autocomplete timeout, and the rerun passed.
  • Ran PHP=83 make up using the locally built 8.3 image. php -v reports 8.3.35, and e2e passed 3/3.

Link to Devin session: https://app.devin.ai/sessions/3421eaf791ce49b6bc6d2f214dcf8df2
Open in Devin Desktop: https://app.devin.ai/desktop/session/3421eaf791ce49b6bc6d2f214dcf8df2?variant=devin


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

mfilip and others added 3 commits October 6, 2026 09:24
PHP 8.1 is end of life and 8.2 ends 31 Dec 2026. Add a PHP 8.3 stack on
Magento 2.4.8-p4 with OpenSearch, run CI on 8.3 and 8.4, and default
local builds to 8.4.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Replace ~5.5.0|~5.6.0|>=7.0|>=8.0 with ^7.0||^8.0 so Composer no
longer advertises PHP 5 support or unknown future majors.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Without --build, switching PHP versions reused the previously built
magento-web image, so PHP=83 make up after PHP=84 still ran PHP 8.4.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

Both jobs were named ci, so the PR showed only one of the two checks.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@cblanc
cblanc merged commit e461ea1 into main Oct 8, 2026
3 of 4 checks passed
@idealbot

idealbot commented Oct 8, 2026

Copy link
Copy Markdown
Member

🎉 This PR is included in version 2.7.4 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@cblanc
cblanc deleted the devin/1791278439-php83-84 branch October 8, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants