[CRM-14077] Lift PHP cap to <8.4 and add 8.3 to CI#16
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Greptile SummaryThis PR lifts the PHP version constraint from
Confidence Score: 5/5Safe to merge — the constraint and CI matrix are fully aligned, and every declared PHP version is tested. Both changed files are config-only: the composer constraint and the CI matrix move in lockstep (7.4–8.3 covered end-to-end). No source code was touched, so there is no regression risk from the code itself. The only discrepancy is between the PR title/description (which say No files require special attention.
|
| Filename | Overview |
|---|---|
| composer.json | PHP constraint widened from <8.3 to <8.4, unblocking 8.3 usage. PR description/title claim <8.5 but the code correctly mirrors the CI matrix (only 8.3 added). |
| .github/workflows/pr_test.yml | PHP 8.3 added to the CI test matrix; all versions now covered by the updated <8.4 constraint are tested (7.4, 8.0, 8.1, 8.2, 8.3). |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[PHP Version] --> B{Constraint\n>=7.4 <8.4}
B -->|Supported| C[7.4 ✅]
B -->|Supported| D[8.0 ✅]
B -->|Supported| E[8.1 ✅]
B -->|Supported| F[8.2 ✅]
B -->|NEW - Supported| G[8.3 ✅]
B -->|Excluded| H[8.4+ ❌]
C --> CI[CI Matrix]
D --> CI
E --> CI
F --> CI
G --> CI
H -.->|Not tested\nNot supported| CI
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[PHP Version] --> B{Constraint\n>=7.4 <8.4}
B -->|Supported| C[7.4 ✅]
B -->|Supported| D[8.0 ✅]
B -->|Supported| E[8.1 ✅]
B -->|Supported| F[8.2 ✅]
B -->|NEW - Supported| G[8.3 ✅]
B -->|Excluded| H[8.4+ ❌]
C --> CI[CI Matrix]
D --> CI
E --> CI
F --> CI
G --> CI
H -.->|Not tested\nNot supported| CI
Reviews (2): Last reviewed commit: "fix: CRM-14077 narrow the lift to <8.4 —..." | Re-trigger Greptile
| fail-fast: false | ||
| matrix: | ||
| php: ["7.4", "8.0", "8.1", "8.2"] | ||
| php: ["7.4", "8.0", "8.1", "8.2", "8.3"] |
There was a problem hiding this comment.
The composer constraint now allows PHP 8.4 (
<8.5), but 8.4 is not included in the test matrix. PHP 8.4 has been released since November 2024 and ships several deprecation-to-error promotions and other behavioural changes that could silently break consumers. Without a 8.4 CI run, the package is effectively advertising support it hasn't verified.
| php: ["7.4", "8.0", "8.1", "8.2", "8.3"] | |
| php: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4"] |
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/pr_test.yml
Line: 14
Comment:
The composer constraint now allows PHP 8.4 (`<8.5`), but 8.4 is not included in the test matrix. PHP 8.4 has been released since November 2024 and ships several deprecation-to-error promotions and other behavioural changes that could silently break consumers. Without a 8.4 CI run, the package is effectively advertising support it hasn't verified.
```suggestion
php: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4"]
```
How can I resolve this? If you propose a fix, please make it concise.…range Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The red 8.3 CI legs are expected and not a fault in this PR: composer resolution fails because the released 🤖 Generated with Claude Code |
Feature overview/Issue description
Part of the wings-api PHP 7.4 → 8.3 upgrade (CRM-14074, deps slice CRM-14077 group 5): this package's
<8.3PHP cap is one of the last composer-level blockers for running wings-api on 8.3.Summary of changes
composer.json: PHP constraint>=7.4 <8.3→>=7.4 <8.4Per the epic's design (D6): constraint-lift + 8.3 CI only — code changes happen only if this package's own 8.3 CI fails.
Blockers
🤖 Generated with Claude Code