Skip to content

chore: run Docker images, dev env and CI on PHP 8.4 - #3959

Merged
marcelfolaron merged 2 commits into
masterfrom
chore/php-8.4
Oct 21, 2026
Merged

marcelfolaron merged 2 commits into
masterfrom
chore/php-8.4

Conversation

@marcelfolaron

Copy link
Copy Markdown
Collaborator

PHP has a critical security release on 2026-10-21 (2× CVSS 9.2), and 8.2 leaves security support on 2026-12-31. We're moving all our hosted systems to 8.4; this moves what core ships and tests to 8.4 too.

  • .docker/Dockerfile: php:8.4.26-fpm-alpine (pinned patch, bumped for each PHP security release)
  • .dev/dockerfile (dev + acceptance tests): php:8.2-apache → php:8.4-apache
  • all CI workflows: php-version: '8.4'
  • composer.json keeps php: ^8.2, so self-hosters on 8.2/8.3 aren't cut off

Locally: unit suite on PHP 8.4 = same result as on 8.3 (no 8.4-specific failures). This PR's CI is the acceptance check on 8.4.

🤖 Generated with Claude Code

PHP 8.2 leaves security support at the end of 2026. Move what we ship and
test to 8.4: the .docker image (pinned to the 8.4.26 patch so a build
cache can't serve a stale PHP), the dev/acceptance image and every CI job.
The composer requirement stays ^8.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@marcelfolaron
marcelfolaron requested a review from a team as a code owner October 20, 2026 23:49
@marcelfolaron
marcelfolaron requested review from broskees and a balanced review from Copilot and removed request for a team October 20, 2026 23:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Production image availability, successful container builds, and PHP 8.4 CI results remain unverified.

No open issues 🎉

What changed in this PR

Moves Leantime’s shipped containers, development environment, and CI to PHP 8.4 while retaining Composer compatibility with PHP 8.2+.

Changes:

  • Pins both production Docker stages to PHP 8.4.26.
  • Updates the development/acceptance container to PHP 8.4.
  • Updates eight CI workflows to PHP 8.4.
File Description
.github/​workflows/​unittests.yml Runs unit tests on PHP 8.4.
.github/​workflows/​staticAnalysis.yml Runs static analysis on PHP 8.4.
.github/​workflows/​security.yml Runs security checks on PHP 8.4.
.github/​workflows/​release.yml Uses PHP 8.4 for releases.
.github/​workflows/​makefile.yml Uses PHP 8.4 for Makefile checks.
.github/​workflows/​codeStyleAnalysis.yml Runs style checks on PHP 8.4.
.github/​workflows/​api-bearer-tests.yml Runs bearer API tests on PHP 8.4.
.github/​workflows/​acceptancetests.yml Uses PHP 8.4 for acceptance CI.
.docker/​Dockerfile Pins builder and production images to PHP 8.4.26.
.dev/​dockerfile Updates the Apache development image to PHP 8.4.

Review effort: Balanced

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 21, 2026 19:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Successful production image builds and PHP 8.4 CI results still need confirmation before approving the runtime migration.

No open issues 🎉

Review effort: Balanced

@marcelfolaron
marcelfolaron merged commit 8464a2e into master Oct 21, 2026
11 of 12 checks passed
@marcelfolaron
marcelfolaron deleted the chore/php-8.4 branch October 21, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants