Skip to content

Align CI/CD tooling with webware-tools - #2

Merged
tyrsson merged 3 commits into
0.1.xfrom
align-with-webware-tools
Aug 18, 2026
Merged

Align CI/CD tooling with webware-tools#2
tyrsson merged 3 commits into
0.1.xfrom
align-with-webware-tools

Conversation

@tyrsson

@tyrsson tyrsson commented Aug 18, 2026

Copy link
Copy Markdown
Member

Summary

Aligns webware-message CI/CD pipeline and dev tooling with webware-mailer, both tooled by webinertia/webware-tools@0.1.x. Scope: pipeline, tooling configs, composer metadata, baselines, dependency audit fixes, and full test scaffolding. Plan captured in docs/webware-tool-alignment.md.

Changes

  • CI/CD: reusable workflow wrapper (php 8.4/8.5, integration, codecov, infection, coverage leg 8.5, MSI 95/95), copilot-instructions.md ported from mailer.
  • Tooling: phpunit.xml.dist (PHPUnit 13 schema, strict flags), mago.toml + baselines, infection.json5.dist (mago static analysis tool), codecov.yml, renovate.json, phpbench.json.dist, .gitattributes/.gitignore, committed composer.lock.
  • composer: mezzio/mezzio-session promoted to direct dep (^1.17.0 — session-ext pins ^1.4), laminas/laminas-view dev dep + suggest (3.x required; 2.x is not installable on PHP 8.4), laminas/laminas-diactoros dev dep, infection/phpbench/backward-compat/webware-tools added, unused php-db/phpdb-mysql + webware/webware-mailer dev deps dropped, scripts + autoload-dev aligned.
  • src: mago pass — final classes, #[Override], typed constants, precise docblocks, exhaustive match, missing session guard, fluent setters return static; dangling SystemMessage import removed (pre-rename leftover); exception file renamed to match class.
  • Hops semantics: send defaults to hops 1 (next request), sendNow defaults to 0 (current request only); level proxies default to 0 with $now = true.
  • Tests: 62 unit + 1 integration (in-process ext-session persistence, no containers). Line coverage 98.36%, methods 95%. Mutation MSI 97.71% (one equivalent mutant remains escaped by nature).

Notes

  • 12 lint findings baselined: too-many-methods/no-boolean-flag-parameter (mailer parity) plus cyclomatic-complexity/kan-defect on SystemMessenger; code-side fix would split the public API.
  • Local coverage/mutation runs require XDEBUG_MODE=coverage; CI uses pcov.

@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@tyrsson
tyrsson merged commit a5d68d1 into 0.1.x Aug 18, 2026
11 checks passed
@tyrsson
tyrsson deleted the align-with-webware-tools branch August 18, 2026 01:26
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