Skip to content

Conversation

@terabytesoftw
Copy link
Member

@terabytesoftw terabytesoftw commented Jan 22, 2026

Pull Request

Q A
Is bugfix?
New feature? ✔️
Breaks BC?

Summary by CodeRabbit

  • Chores

    • Bumped PHP references from 8.4 to 8.5 across the project — CI/workflows, action defaults, Docker images, and release metadata.
    • Updated build tooling and image tags to align with PHP 8.5.
  • Documentation

    • Updated README and CHANGELOG entries to reflect PHP 8.5.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 22, 2026

Warning

Rate limit exceeded

@terabytesoftw has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 2 minutes and 39 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

Updated PHP version references from 8.4 to 8.5 across environment files, CI workflows, docs, and examples. The Apache Dockerfile also adds conditional build/install/cleanup steps to install Microsoft SQL Server drivers (sqlsrv/pdo_sqlsrv), using a source-compile path when PHP_VERSION_ID >= 80500 and a pecl fallback otherwise.

Changes

Cohort / File(s) Summary
Environment example
.env.example
Bumped PHP_VERSION from 8.48.5.
CI actions & workflows
.github/actions/prepare-docker-tags/action.yml, .github/workflows/build.yml, .github/workflows/release.yml
Updated default/input and env PHP version values from 8.48.5; updated release tag example to use 8.5.
Documentation & changelog
README.md, CHANGELOG.md
Replaced PHP 8.4 references with 8.5 in README image tags/commands; added changelog entry noting the PHP 8.5 update.
Apache Dockerfile
src/flavor/apache/Dockerfile
Bumped PHP ARG to 8.5; added SHELL ["/bin/bash","-o","pipefail","-c"] in full build; added MS SQL Server driver handling: fixed apt echo quoting, expanded unixodbc and build-deps, install sqlsrv via pecl, install pdo_sqlsrv via source build when PHP_VERSION_ID >= 80500 (otherwise via pecl), enable extensions, and purge build deps/clean apt lists.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • yii2-extensions/docker-images#9 — Modifies Apache Dockerfile for PHP extension and sqlsrv/pdo_sqlsrv handling; closely related changes to Docker build steps.

Suggested labels

enhancement

Poem

🐰 I hopped from 8.4 to shiny 8.5,
Docker builds bustle and extensions come alive.
I nibble on changelogs, compile with a grin,
Sqlsrv joins the party — let the tests begin! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: updating the Apache Docker image to PHP 8.5, which is reflected consistently across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @.github/workflows/build.yml:
- Around line 27-28: The workflow sets PHP_VERSION to "8.5" which will cause
image-pull failures because the official PHP Docker images don't publish 8.5
tags yet; update the env variable PHP_VERSION in the workflow to a supported
official tag (e.g., "8.4" or "8.3") or change the image reference to a
maintained third-party image that provides 8.5; specifically edit the env
PHP_VERSION value in .github/workflows/build.yml (symbol: PHP_VERSION) to a
published official version or adjust the job's container/image references to an
alternative registry if you intentionally need 8.5.

In `@src/flavor/apache/Dockerfile`:
- Around line 2-7: The Dockerfile uses PHP_VERSION and references
php:${PHP_VERSION}-fpm-trixie which does not exist for 8.5; update the
Dockerfile to use an available base image by changing the PHP_VERSION default to
a released tag (e.g., set ARG PHP_VERSION=8.4) or switch the base image
reference to an existing tag (e.g., replace php:${PHP_VERSION}-fpm-trixie with a
released variant like php:8.4-fpm-trixie or php:8.5-fpm-bullseye if intended),
ensuring the ARG PHP_VERSION value and the FROM reference remain consistent so
builds succeed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/flavor/apache/Dockerfile (1)

2-12: The base image tag php:8.5.2-fpm-trixie does not exist in the official Docker PHP repository.

The official PHP images do not publish a Debian trixie FPM variant for version 8.5. Available PHP 8.5 FPM tags are limited to Alpine variants (e.g., php:8.5.2-fpm-alpine3.23). While PHP 8.4 had the fpm-trixie variant, this is not available for PHP 8.5.

Update the base image to an available tag such as php:8.5.2-fpm-alpine3.23 or check the official Docker Hub PHP image tags for the latest supported Debian variant.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/flavor/apache/Dockerfile`:
- Around line 188-209: The Dockerfile currently forces building/patching
pdo_sqlsrv-5.12.0 for PHP >= 8.5 (the php -r PHP_VERSION_ID check) which is
unsupported; change the logic around the pecl/install and manual build
(references: pecl install sqlsrv-5.12.0, pdo_sqlsrv-5.12.0 download/tar/extract,
the sed patches to pdo_dbh.cpp and php_pdo_sqlsrv_int.h, and
docker-php-ext-enable sqlsrv pdo_sqlsrv) to only install/build when
PHP_VERSION_ID corresponds to officially supported releases (PHP 8.1–8.3), and
for other PHP versions either skip installation with a clear error/notice or
gate this whole block behind an explicit EXPERIMENTAL_SQLSRV build-time flag and
emit a documented warning; ensure any automated patching/build steps remain
inside that guarded branch and do not run for PHP 8.5 unless EXPERIMENTAL_SQLSRV
is set.
♻️ Duplicate comments (1)
src/flavor/apache/Dockerfile (1)

2-12: Base image php:8.5-fpm-trixie availability concern already noted.

This issue was flagged in a previous review. The php:8.5-fpm-trixie image is not yet available on Docker Hub as PHP 8.5 is still in development. The build will fail until the official image is released.

🧹 Nitpick comments (1)
src/flavor/apache/Dockerfile (1)

196-197: Fragile source patching via sed may silently fail.

If the upstream pdo_sqlsrv source changes (different whitespace, renamed variables, etc.), these sed replacements will silently produce no changes, potentially causing compilation failures or runtime issues. Consider adding verification that the patterns actually matched:

💡 Suggested verification approach
         && sed -i 's/= dbh->error_mode/= (enum pdo_error_mode) dbh->error_mode/' pdo_dbh.cpp \
+        && grep -q '(enum pdo_error_mode) dbh->error_mode' pdo_dbh.cpp \
         && sed -i 's/zval_ptr_dtor( &dbh->query_stmt_zval );/OBJ_RELEASE(dbh->query_stmt_obj);dbh->query_stmt_obj=NULL;/' php_pdo_sqlsrv_int.h \
+        && grep -q 'OBJ_RELEASE(dbh->query_stmt_obj)' php_pdo_sqlsrv_int.h \

@terabytesoftw terabytesoftw merged commit 7b8c982 into main Jan 22, 2026
18 checks passed
@terabytesoftw terabytesoftw deleted the feature_1 branch January 22, 2026 15:44
@terabytesoftw terabytesoftw added the enhancement New feature or request label Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants