Skip to content

[CRM-14077] Lift PHP cap to <8.4 and add 8.3 to CI#5

Merged
MichaelEsteves merged 3 commits into
mainfrom
chore/CRM-14077-php83-cap-lift
Jul 3, 2026
Merged

[CRM-14077] Lift PHP cap to <8.4 and add 8.3 to CI#5
MichaelEsteves merged 3 commits into
mainfrom
chore/CRM-14077-php83-cap-lift

Conversation

@MichaelEsteves

@MichaelEsteves MichaelEsteves commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

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.3 PHP 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.4
  • CI: PHP 8.3 added to the test matrix (where a matrix exists)

Per 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

  • After merge, please tag a release — wings-api consumes all group-5 lifts in one lock-bump PR once every tag exists.

🤖 Generated with Claude Code

MichaelEsteves and others added 2 commits July 3, 2026 11:03
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Jul 3, 2026

Copy link
Copy Markdown

Greptile Summary

This PR lifts the PHP version ceiling in composer.json from <8.3 to <8.4 and adds PHP 8.3 to the CI test matrix, unblocking the wings-api 8.3 upgrade. The constraint and CI coverage are aligned — every permitted PHP version (7.4 through 8.3) is exercised in CI.

  • composer.json: "php": ">=7.4 <8.3""php": ">=7.4 <8.4". Note: the PR title and description reference <8.5, but the actual change is the more conservative <8.4, which matches CI coverage exactly.
  • .github/workflows/pr_test.yml: "8.3" added to the PHP matrix; combined with prefer-lowest and prefer-stable composer variants, the new version gets thorough dependency coverage.

Confidence Score: 5/5

Safe to merge — the two-line change correctly narrows the ceiling to <8.4 and adds 8.3 to CI, giving full coverage of every permitted PHP version.

Both changed files are configuration only. The composer constraint and CI matrix are perfectly aligned: every PHP version the package now accepts (7.4 through 8.3) is exercised in CI with both prefer-lowest and prefer-stable dependency variants. No runtime code was touched.

No files require special attention.

Important Files Changed

Filename Overview
composer.json PHP constraint lifted from >=7.4 <8.3 to >=7.4 <8.4; aligns with CI coverage (8.3 is the highest tested version).
.github/workflows/pr_test.yml PHP 8.3 added to the test matrix; CI now covers every version permitted by the updated composer constraint.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[PHP Version] --> B{Permitted by composer.json?}
    B -- "7.4 – 8.3 ✅" --> C{In CI matrix?}
    B -- "8.4+ ❌ (excluded by <8.4)" --> X[Rejected at install]
    C -- "7.4, 8.0, 8.1, 8.2, 8.3 ✅" --> D[Tested with prefer-lowest + prefer-stable]
    D --> E[CI passes → safe to tag release]
Loading
%%{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{Permitted by composer.json?}
    B -- "7.4 – 8.3 ✅" --> C{In CI matrix?}
    B -- "8.4+ ❌ (excluded by <8.4)" --> X[Rejected at install]
    C -- "7.4, 8.0, 8.1, 8.2, 8.3 ✅" --> D[Tested with prefer-lowest + prefer-stable]
    D --> E[CI passes → safe to tag release]
Loading

Reviews (2): Last reviewed commit: "fix: CRM-14077 narrow the lift to <8.4 —..." | Re-trigger Greptile

Comment thread composer.json Outdated
…range

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@MichaelEsteves

Copy link
Copy Markdown
Contributor Author

The red 8.3 CI legs are expected and not a fault in this PR: composer resolution fails because the released rexlabs/utility-belt 4.0.0 still caps php <8.3. Once utility-belt-php#3 merges and tags, re-running this PR's CI should go green — please merge/tag that one first.

🤖 Generated with Claude Code

@MichaelEsteves MichaelEsteves merged commit c48682b into main Jul 3, 2026
27 of 31 checks passed
@MichaelEsteves MichaelEsteves changed the title [CRM-14077] Lift PHP cap to <8.5 and add 8.3 to CI [CRM-14077] Lift PHP cap to <8.4 and add 8.3 to CI Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants