Skip to content

Add GitHub Actions CI with a PHP version matrix - #7

Merged
TomK merged 1 commit into
masterfrom
ci-actions-matrix
Sep 3, 2026
Merged

Add GitHub Actions CI with a PHP version matrix#7
TomK merged 1 commit into
masterfrom
ci-actions-matrix

Conversation

@TomK

@TomK TomK commented Sep 3, 2026

Copy link
Copy Markdown
Member

No GitHub Actions CI here — only a CircleCI config still building PHP 7.2, 7.3 and rc, none of which this package supports. Adds a setup-php workflow matching packaged/dal's shape, with fail-fast: false.

The matrix is 8.2 only, not dal's 8.0–8.2, and that's a finding rather than a choice. composer.json says "php": ">=8.0", but packaged/context ~1.0 pulls packaged/http 2.0.0symfony/http-foundation ^v7.2.0, and every release in that range needs PHP >= 8.2. Composer can't resolve an installable set on 8.0 or 8.1 — I pushed those legs first and both died at composer install, logs on the earlier run of this branch.

So the declared floor is already false. Bumping it to >=8.2 is the honest fix but it's a packaging call, so I've left composer.json alone and made the matrix match what actually installs. Same situation in packaged/http (#6).

.circleci/config.yml untouched — say the word and I'll drop it in a follow-up.

Test plan

Fresh composer install plus the full suite on PHP 8.2.33 from a clean checkout of master: green, 39 tests / 144 assertions. Confirmed again by the 8.2 leg on this PR.

🤖 Generated with Claude Code

Adds a setup-php matrix mirroring packaged/dal, with fail-fast disabled so
every leg reports independently.

The matrix runs 8.2 only. composer.json claims "php": ">=8.0", but that is
no longer true in practice: packaged/context ~1.0 pulls packaged/http 2.0.0,
which requires symfony/http-foundation ^v7.2.0, and every release in that
range requires PHP >= 8.2. Composer cannot resolve an installable set on 8.0
or 8.1 -- verified by 8.0 and 8.1 legs failing at "composer install" on the
first push of this branch. Bumping the declared floor to >=8.2 would make
composer.json honest, but that is a packaging decision, so it is left alone
and the matrix reflects reality instead.

The existing CircleCI config is left in place; it still targets PHP 7.2,
7.3 and rc, none of which this package supports any more.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
@TomK
TomK force-pushed the ci-actions-matrix branch from 724a8c0 to 7685fe1 Compare September 3, 2026 11:56
@TomK
TomK merged commit 11a1b88 into master Sep 3, 2026
1 of 2 checks passed
@TomK
TomK deleted the ci-actions-matrix branch September 3, 2026 12:53
TomK added a commit that referenced this pull request Sep 4, 2026
Follows on from #7, which added the workflow running 8.2 only. Adds the three
current releases, so the matrix now runs 8.2, 8.3, 8.4 and 8.5.

The floor stays at 8.2: symfony/http-foundation ^v7.2.0, pulled in via
packaged/context and packaged/http, requires PHP >= 8.2, so composer cannot
resolve an installable set below that.

Verified against a clean checkout: fresh composer install plus the full suite
on PHP 8.5.10 exits 0 (39 tests, 144 assertions).

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
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