Skip to content

feat: migrate tests to Testo, require PHP 8.2 - #19

Merged
roxblnfk merged 2 commits into
1.xfrom
testo
Oct 9, 2026
Merged

roxblnfk merged 2 commits into
1.xfrom
testo

Conversation

@roxblnfk

@roxblnfk roxblnfk commented Oct 9, 2026 •

Copy link
Copy Markdown
Member
Q A
Bugfix? ❌
Breaks BC? ❌ (minimum PHP raised to 8.2; no API changes)
New feature? ❌
Issues —
Docs PR —
  • Minimum PHP is now 8.2 (^8.2); README requirements updated.
  • Tests run on Testo instead of PHPUnit: same 119 test runs, 119 passed locally (per-test comparison of JUnit reports is identical). PHPUnit and phpunit.xml are removed; composer test runs vendor/bin/testo.
  • PHPUnit mocks moved to Mockery (testo/bridge-mockery verifies expectations after each test). Double was not an option, since it needs PHP 8.3.
  • CI calls spiral/gh-actions/.github/workflows/testo.yml (see feat(testo): test PHP 8.2-8.6 by default, add test-server input spiral/gh-actions#10) with lowest/highest dependencies, replacing the former prefer-lowest/prefer-stable matrix.

Review notes

  • vimeo/psalm is raised to ^6 || ^7 so the Testo job runs on the full PHP 8.2–8.6 matrix. Psalm 6 reports 16 new errors in src (MissingOverrideAttribute, RiskyTruthyFalsyComparison, …), left for a separate PR.
  • InstalledTest::getVersionFromEnv() and getVersionFromConsoleCommand() lack the test prefix, so PHPUnit never ran them; they stay unmarked under Testo too, to keep the port 1:1.

Testo, the new test runner, needs PHP 8.2 or newer; PHP 8.0 and 8.1 are end-of-life.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4b963b3c-7861-4ae8-ab43-8a62143517e7

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

build: allow vimeo/psalm ^6 || ^7

PHPUnit mocks moved to Mockery, since Double needs PHP 8.3. vimeo/psalm ^5 does not install on PHP 8.4+, so it is raised to keep the Testo job on the full 8.2-8.6 matrix; psalm 6 reports new errors in src, which are left for a separate change.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
@roxblnfk
roxblnfk merged commit 13e5a07 into 1.x Oct 9, 2026
13 of 14 checks passed
@roxblnfk
roxblnfk deleted the testo branch October 9, 2026 16:00
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