Skip to content

ci: test on PHP 8.4 and 8.5 and update Node 20 actions#48

Merged
bennothommo merged 2 commits into
assetic-php:masterfrom
austinderrick:ci/test-php-8.4-8.5
Jun 15, 2026
Merged

ci: test on PHP 8.4 and 8.5 and update Node 20 actions#48
bennothommo merged 2 commits into
assetic-php:masterfrom
austinderrick:ci/test-php-8.4-8.5

Conversation

@austinderrick

Copy link
Copy Markdown
Contributor

Summary

Adds PHP 8.4 and 8.5 to the unit test matrix and updates the workflow actions still pinned to the deprecated Node 20 runtime.

PRs #45 and #47 already cleaned up Assetic's own deprecations on 8.4/8.5, but the CI matrix was never extended to actually exercise those versions. This turns them on.

Changes

  • .github/workflows/tests.yml — add '8.4' and '8.5' to the phpVersion matrix.
  • phpunit.xml.dist — set SYMFONY_DEPRECATIONS_HELPER=max[self]=0&max[direct]=0. On 8.4/8.5 the only remaining deprecations come from vendor code (Twig 2.x and ScssPhp 1.x) that Assetic cannot fix. This config tolerates indirect (vendor-internal) deprecations while still failing the build on any deprecation in Assetic's own code, so the guard against regressions is preserved.
  • Node 20 → Node 24 action bumps (the deprecation warning currently shown on code-quality.yml):
    • actions/checkout v4 → v5 (in both tests.yml and code-quality.yml)
    • supplypike/setup-bin v4 → v5 (inputs unchanged between v4 and v5; only the runtime moved to Node 24)
    • shivammathur/setup-php@v2 already runs on Node 24, so it is left unchanged.

Verification

Ran the full suite locally against current master on PHP 8.3, 8.4, and 8.5 (PHP 8.5.5 / 8.4.14). All green with the new helper config:

OK, but incomplete, skipped, or risky tests!
Tests: 408, Assertions: 547, Skipped: 61.
  • A php -l sweep of src/ on 8.5 reports no compile-time deprecations in Assetic's own code.
  • The 28 remaining notices on 8.4/8.5 are all indirect (Twig / ScssPhp internals) and no longer fail the build, while a deprecation introduced in Assetic's own code would still fail it.

Modeled on wintercms/storm#232, adapted for the fact that here the only outstanding deprecations are in unfixable vendor code rather than first-party source.

Adds 8.4 and 8.5 to the unit test matrix, now that assetic-php#45 and assetic-php#47 have
cleaned up Assetic's own deprecations on those versions.

The only deprecations remaining on 8.4/8.5 originate in vendor code
(Twig 2.x and ScssPhp 1.x) that Assetic cannot fix, so the
symfony/phpunit-bridge deprecation helper is configured to tolerate
indirect (vendor-internal) deprecations while still failing the build
on any deprecation in Assetic's own code (max[self]=0&max[direct]=0).
The full suite passes on 8.4 and 8.5 (408 tests, 547 assertions).

Also bumps the actions pinned to the deprecated Node 20 runtime to
their Node 24 releases: actions/checkout v4 -> v5 and
supplypike/setup-bin v4 -> v5. shivammathur/setup-php@v2 already runs
on Node 24, so it is left unchanged.

@bennothommo bennothommo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update to more recent versions

Comment thread .github/workflows/code-quality.yml Outdated
Comment thread .github/workflows/tests.yml Outdated
Comment thread .github/workflows/tests.yml Outdated
Comment thread .github/workflows/tests.yml Outdated
Co-authored-by: Ben Thomson <git@alfreido.com>
@bennothommo

Copy link
Copy Markdown
Member

Thanks @austinderrick! I'll fix up the tests in another commit - I updated the Tailwind CSS CLI utility in this PR, and evidently they've changed some of their boilerplate.

@bennothommo bennothommo merged commit e0e4808 into assetic-php:master Jun 15, 2026
1 of 9 checks passed
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.

2 participants