Skip to content

ci: add mutation testing with Infection - #49

Merged
roxblnfk merged 1 commit into
3.xfrom
ci/mutation-testing
Oct 9, 2026
Merged

roxblnfk merged 1 commit into
3.xfrom
ci/mutation-testing

Conversation

@roxblnfk

@roxblnfk roxblnfk commented Oct 9, 2026

Copy link
Copy Markdown
Member

🔍 What was changed

  • New Mutation Tests workflow runs Infection over src with Testo on PHP 8.4 for pull requests and pushes to 3.x; it fails below 85% MSI (currently 85.99%: 157 mutants, 22 escaped).
  • Pushes to 3.x upload the report to the Stryker dashboard; the README gets its mutation badge.
  • infection.json5 is excluded from the dist archive.

Review notes

  • Infection is installed inside the job, not in require-dev: Infection needs PHP 8.3 while the package supports 8.2, and the Infection Phar cannot run Testo yet (its adapter calls the unscoped \Infection\StreamWrapper\IncludeInterceptor, so every mutant fails with "class not found" and counts as killed).

Checklist

  • How was this tested:
    • Infection run locally on PHP 8.4: MSI 85.99%, mutation code coverage 100%

Infection is installed inside the job: it needs PHP 8.3 while the package supports 8.2, and its Phar cannot run Testo yet. The threshold follows the current MSI of 85.99%, rounded down to 85.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
@roxblnfk
roxblnfk requested a review from a team October 9, 2026 20:09
@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 28 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cb656e53-6bb7-4bbb-963f-aacf21a12232

📥 Commits

Reviewing files that changed from the base of the PR and between c88e8e7 and 3ddee79.


📒 Files selected for processing (4)
  • .gitattributes
  • .github/workflows/mutation.yml
  • README.md
  • infection.json5


  • 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.

@roxblnfk
roxblnfk merged commit 7248792 into 3.x Oct 9, 2026
10 checks passed
@roxblnfk
roxblnfk deleted the ci/mutation-testing branch October 9, 2026 20:11
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