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

bleedingdeacons / sentinel / 31016180579
91%

Build:
DEFAULT BRANCH: main
Ran 05 Aug 2026 02:38PM UTC
Jobs 1
Files 8
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

05 Aug 2026 02:37PM UTC coverage: 90.677%. Remained the same
31016180579

push

github

web-flow
chore(tooling): make PSR-12 a gate and badge the standard (#32)

PHPCS has been running advisory since it was added, with a note to promote
it once the repo was green. It never was, and sentinel was the hardest case
in the suite: phpcbf stuck at 89 findings however many times it was run.

Exclude the WordPress and test-only sniffs in .phpcs.xml.dist, each with the
reason:

- Generic.Files.LineEndings — git normalises to LF in the index, so this
  only ever fired on Windows working copies, never in CI.
- Generic.Files.LineLength — PSR-12's 120-char limit, against markup and
  option literals where wrapping reads worse.
- PSR1.Files.SideEffects — the mandatory `if (!defined('ABSPATH')) exit;`
  guard counts as a side effect next to the class declaration.
- PSR1.Methods.CamelCapsMethodName, PSR1.Classes.ClassDeclaration,
  Squiz.Classes.ValidClassName, PSR12.Files.FileHeader — scoped to tests/,
  where snake_case BDD names and global WP_* stubs are deliberate.

src/Logger/sentinel-logger.php is excluded outright. It is not a PSR-4 class
file: LoggerManager copies it into mu-plugins/ at runtime and build.php syncs
its own Version: header, so it is a single-file WordPress mu-plugin — global
namespace, Sentinel_-prefixed class names, three classes in one file. Every
one of those is a PSR-1 violation and every one is required by what the file
is. Nine findings, none of them fixable without breaking the design.

SettingsPage.php accounted for the remaining 84, and they would not fix
because PSR2's call-signature sniff and PSR-12's scope-indent sniff each
wanted a different indent for the same lines — phpcbf loops until it gives
up. Running each sniff on its own, in turn, converges where running them
together does not, and cleared all but one.

That last one was a real conflict: an esc_html( ... ) call whose arguments
spanned inline HTML inside a <pre> block, where one sniff wanted 20 spaces
and the other at least 53. No indentation satisfies both. The example... (continued)

139 of 143 new or added lines in 4 files covered. (97.2%)

1702 of 1877 relevant lines covered (90.68%)

4.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
90.58
0.0% src/Admin/LogViewerPage.php
Jobs
ID Job ID Ran Files Coverage
1 31016180579.1 05 Aug 2026 02:38PM UTC 8
90.68
GitHub Action Run
Source Files on build 31016180579
  • Tree
  • List 8
  • Changed 5
  • Source Changed 5
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31016180579
  • f70be0a3 on github
  • Prev Build on main (#31007964835)
  • Next Build on main (#31016323328)
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