Skip to content

Test on PHP 8.5 and 8.6 - #120

Merged
freekmurze merged 2 commits into
mainfrom
ci/php-85-86
Nov 5, 2026
Merged

freekmurze merged 2 commits into
mainfrom
ci/php-85-86

Conversation

@freekmurze

@freekmurze freekmurze commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add PHP 8.5 and 8.6 alongside PHP 8.3/8.4 for Laravel 12/13 and compatible Guzzle 7/8 combinations.
  • CI-only removal: Laravel 11 + Testbench 9 + Guzzle 7 on PHP 8.3, 8.4, 8.5 and 8.6 (four rows), plus its now-unused CI mapping/exclusion.
  • Production Laravel 11 support and all composer.json constraints remain unchanged. All other coverage, real Google API tests, Composer security blocking and fail-fast:false are preserved.

Original advisory blocker

The unchanged PHP 8.3/Laravel 11/Guzzle 7 job failed during composer update (exit 2), before PHPUnit: every Laravel 11 candidate was blocked by security advisories including PKSA-b41t-wbzk-9q51, PKSA-d5tc-s1qs-h781, PKSA-3r5d-mb8f-1qw9, PKSA-m5cs-t1y6-qpcs and PKSA-mdq4-51ck-6kdq.
Failure log: https://github.com/spatie/geocoder/actions/runs/42015551094/job/127205076299
The rollout coordinator explicitly authorized removing only these blocked CI combinations; no advisories were ignored.

Validation

  • Workflow YAML/matrix validation passes: 12 combinations; all non-Laravel-11 combinations preserved.
  • git diff --check passes; composer.json unchanged from main.
  • Local PHPUnit unavailable: orb has no PHP runtime/API key. Final hosted verification completed on corrected head 2b1a180.
  • Corrected-head push and PR suites each passed all 12 Ubuntu/prefer-stable jobs: 13 tests and 28 assertions per job, no skips.

No production code or dependency changes.

Final hosted evidence

Exact head: 2b1a180. All 25 checks succeeded (24 test jobs across push/PR plus styling); PR CLEAN/MERGEABLE, not merged.

Actual runtime: PHP 8.5.12 and PHP 8.6.0-dev (61f6bc68d0071bdd756a9b6ee548b310e2835748); PHPUnit 12.5.43. Both runtimes executed each dependency combination below, with 13 tests/28 assertions and no skips:

  • Laravel 12.71.0 / Testbench 10.12.0 / Guzzle 7.16.1
  • Laravel 13.40.0 / Testbench 11.3.0 / Guzzle 7.16.1
  • Laravel 13.40.0 / Testbench 11.3.0 / Guzzle 8.3.1

Push runtime/dependency/test logs: https://github.com/spatie/geocoder/actions/runs/42024374440
PR test logs: https://github.com/spatie/geocoder/actions/runs/42024382346
Styling: https://github.com/spatie/geocoder/actions/runs/42024374045

PHP 8.6/Laravel 12 reports one upstream deprecation: spl_object_hash() in Illuminate/Container/Container.php:1112. It is not suppressed. Existing Composer --no-suggest option also emits a deprecation notice. No lowest-dependency or other-OS rows existed; all existing non-Laravel-11 coverage is retained.

@freekmurze
freekmurze merged commit bcda3a1 into main Nov 5, 2026
25 checks passed
@freekmurze
freekmurze deleted the ci/php-85-86 branch November 5, 2026 13:23
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.

1 participant