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

valkyrjaio / valkyrja-php / 30722854124
100%

Build:
DEFAULT BRANCH: 26.x
Ran 01 Aug 2026 11:14PM UTC
Jobs 1
Files 1192
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 11:11PM UTC coverage: 100.0%. Remained the same
30722854124

push

github

web-flow
[Filesystem] feat!: Configure the filesystem component with typed config contracts (#1023)

# 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 Filesystem component its own typed config contracts.
It also
converts `FilesystemServiceProvider` to read those contracts.

`FilesystemServiceProvider` no longer reads `Env`. An application that
sets an
`Env::FILESYSTEM_*` constant, or `Env::FLYSYSTEM_FILESYSTEM_DEFAULT`,
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

The component config holds only the component-wide setting, and each
adapter gets
its own contract, its own default class, and its own container binding:

- `FilesystemConfigContract` holds `defaultFilesystem`.
- `FilesystemFlysystemConfigContract` holds
`defaultFlysystemFilesystem`, which
  chooses between the local adapter and the S3 adapter.
- `FilesystemFlysystemLocalConfigContract` holds `flysystemLocalPath`.
- `FilesystemFlysystemS3ConfigContract` holds the seven `flysystemS3*`
settings.

An application that stores files on S3 never constructs the local path
config,
and an application that stores files locally never constructs the seven
S3
settings. The container resolves an adapter config only when something
asks for
that adapter.

Each property carries the adapter name as a prefix, so one application
config
class can implement several of these contracts at once.
`tests/Tests/Fixtures/Filesystem/Data/FilesystemConfigFixture.php`
implements all
four.

valkyrjaio/architecture#131 records t... (continued)

70 of 70 new or added lines in 5 files covered. (100.0%)

12777 of 12777 relevant lines covered (100.0%)

24.39 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30722854124.1 01 Aug 2026 11:13PM UTC 1192
100.0
GitHub Action Run
Source Files on build 30722854124
  • Tree
  • List 1192
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30722854124
  • 07f83bf6 on github
  • Prev Build on 26.x (#30722829087)
  • Next Build on 26.x (#30722873509)
  • 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