Skip to content

ci: run mutation tests with Infection - #23

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

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

Conversation

@roxblnfk

@roxblnfk roxblnfk commented Oct 9, 2026

Copy link
Copy Markdown
Member

What was changed

  • Mutation Tests workflow runs Infection on PRs and pushes to 2.x (PHP 8.4, Xdebug) with --min-msi=85 --min-covered-msi=85; pushes to 2.x send the report to the Stryker dashboard, and the README gets its badge.
  • Local run: 39 mutants, 35 killed, MSI 89%, mutation code coverage 100%. Escaped: three boundary flips in the assert() argument checks of create() and ArrayOneItem on the statuses() result.
  • Needs the STRYKER_DASHBOARD_API_KEY secret (repo or org) for the dashboard upload.

Review notes

  • Infection is installed with composer require in the workflow, not from the phar: the Testo adapter bundled in the 0.35.6 phar writes a bootstrap calling the unscoped \Infection\StreamWrapper\IncludeInterceptor, so every mutant ends as an error.
  • It is not in require-dev because Infection ≥ 0.33 needs PHP 8.3+, and the package supports 8.2.

Checklist

  • Tested
    • Infection run locally on PHP 8.4 with Xdebug

Infection is installed in the workflow rather than from the phar or require-dev: the phar's Testo adapter calls the unscoped IncludeInterceptor and fails every mutant, and Infection needs PHP 8.3+ while the package supports 8.2.

Assisted-By: Claude Opus 5.5
@roxblnfk
roxblnfk requested a review from a team October 9, 2026 20:25
@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: 4af74776-b2f2-434d-a97f-606f07d245fc

  • 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 4e87c63 into 2.x Oct 9, 2026
9 of 10 checks passed
@roxblnfk
roxblnfk deleted the ci/mutation-testing branch October 9, 2026 20:27
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