• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bleedingdeacons / unity / 35540006252
96%

Build:
DEFAULT BRANCH: main
Ran 20 Sep 2026 09:55PM UTC
Jobs 1
Files 14
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Sep 2026 09:52PM UTC coverage: 96.386%. Remained the same
35540006252

push

github

web-flow
feat!: move to PHP 8.4/8.5 and PHPUnit 13, tested to WP 7.1.1 (#73)

Part of the suite-wide PHP 8.5 / WordPress 7.1.1 upgrade. Unity goes early
because its `src/` is scanned by most of the suite's PHPStan configs, so a
sibling analysing a half-migrated Unity is the thing worth avoiding.

Follows the pilot, [lifelines#57](https://github.com/bleedingdeacons/lifelines/pull/57), which is green on both matrix legs.

## Changes

- `Requires PHP` 8.1 → **8.4**, header and `readme.txt`.
- PHPUnit `^10.5` → `^13.0`, with all **134** docblock annotations converted to
  attributes (119 `@test`, 13 `@covers`, 2 `@dataProvider`) — PHPUnit 12
  removed doc-comment metadata. Counts match the originals exactly.
- `bleedingdeacons/wp-mocks` `^2.0` → `^3.0`.
- CI runs a **matrix of 8.4 and 8.5**. The `defaults:` block that runs steps
  from inside this checkout is untouched — the sibling checkouts still need it.
- PHPStan analyses a `min: 80400 / max: 80500` range instead of one pin.
- `readme.txt` said `Requires PHP 8.0` and `Requires at least 6.0` while the
  header said 8.1 and 6.1. Both now follow the header.

## The `#[CoversNothing]` change is a latent bug fix

Three tests under `tests/Unit/Testing/` carried `@covers` naming classes in
`src/Testing/Doubles/`, which `phpunit.xml` **excludes from coverage**. They
therefore attributed nothing, and PHPUnit rejects them as targets.

That was already true on PHPUnit 10.5 — a pre-change baseline run produces the
same **46 warnings** — but 10.5 did not fail the build over them and **13 does**
(exit 1). So this is not caused by the conversion; it is a latent problem the
bump would have turned red. `#[CoversNothing]` states the intent explicitly and
leaves the coverage denominator untouched.

## Verification

Full gate sequence green locally on PHP 8.5.7. **Coverage is unchanged**:
315/330 lines, 13/13 classes, 85/85 methods, 164 tests. The PHPStan baseline is
unchanged — regenerating it produced identical messages and cou... (continued)

400 of 415 relevant lines covered (96.39%)

5.27 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35540006252.1 20 Sep 2026 09:55PM UTC 14
96.39
GitHub Action Run
Source Files on build 35540006252
  • Tree
  • List 14
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35540006252
  • cc79ff89 on github
  • Prev Build on main (#35357265474)
  • Next Build on main (#35759188349)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc