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

valkyrjaio / valkyrja-php / 30721199531
100%

Build:
DEFAULT BRANCH: 26.x
Ran 01 Aug 2026 10:26PM UTC
Jobs 1
Files 1168
Run time 2min
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

01 Aug 2026 10:24PM UTC coverage: 100.0%. Remained the same
30721199531

push

github

web-flow
[Sms] feat!: Configure the sms component with a typed config contract (#1011)

# Description

`Valkyrja\Application\Env\Env` is deprecated. It is one non-final class
that holds
about 120 `public const` env variables for every component at once. This
pull
request gives the Sms component its own typed config contract and its
own config
classes. It also converts `SmsServiceProvider` to read that contract.

`SmsServiceProvider` no longer reads `Env`. An application that sets an
`Env::SMS_*` constant loses that setting, so this change breaks a public
contract.

This pull request does not change `Env.php`. Each component gets its own
pull
request, and all of those pull requests are independent. A pull request
that
deleted its own constants would conflict with every sibling pull request
on that
one file. `Env` therefore stays in place and goes unread. A later pull
request
removes the whole class.

The shape follows `Cli\Interaction`:

- `SmsConfigContract` is the container binding key. The application can
implement
the contract on its own `Config` class. `publishConfig` then binds that
object.
- `SmsConfig` is the default. `publishConfig` binds a new instance when
the
  application config does not implement the contract.
- `SmsVonageConfig` is a plain data class without a contract. It is a
value that
the parent config holds, not a service that the container resolves. This
  matches `Session\Data\CookieParams`.

This is one of 14 pull requests that give each component its own config
contract.
See #1002 for the first one, which describes the pattern in full.

## Types of changes

- [ ] Improvement _(non-breaking change which improves code)_
- [ ] Bug fix _(non-breaking change which fixes an issue)_
- [x] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [x] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

## Change... (continued)

35 of 0 new or added lines in 0 files covered. (NaN%)

12731 of 12731 relevant lines covered (100.0%)

24.3 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30721199531.1 01 Aug 2026 10:26PM UTC 1168
100.0
GitHub Action Run
Source Files on build 30721199531
  • Tree
  • List 1168
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30721199531
  • e5f2cdcb on github
  • Prev Build on 26.x (#30720596830)
  • Next Build on 26.x (#30722663447)
  • Delete
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