Modernize PHP 8 tests and fix extension and FPM provisioning - #579
Merged
Merged
Conversation
2 tasks
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Cleanup tests for PHP 8 only
Restrict PHP tests to PHP 8.1+
Oct 1, 2026
Copilot stopped work on behalf of
Kanti due to an error
October 1, 2026 11:46
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
Co-authored-by: Kanti <471387+Kanti@users.noreply.github.com>
…ts-for-php-8-only
…ners Retain libc-client2007e after build cleanup so PHP 8.1 can load IMAP. Include PHP 8.1 in the dedicated IMAP tests. Update every development FPM config to preserve public listening. Prevent later pool configs from restoring the localhost listener. Regenerate Dockerfiles and provisioning scripts from their sources.
Assert installed PHP extensions in CLI and FPM so missing modules are detected by Serverspec and structure tests. Keep IMAP version guards and reuse the structure-test module list for both SAPIs. Install and enable YAML in Debian PHP images, retain its runtime library after build cleanup, and regenerate the PHP 8.1-8.5 Dockerfiles. Validation: 207 focused Serverspec examples and 87 structure checks passed across Debian PHP 8.1/8.5 and Alpine PHP 8.5.
Derive the expected CLI and FPM versions from DOCKER_TAG so images running the wrong PHP minor version fail their version checks. Support Alpine tag suffixes and preserve existing prerelease matching. Validation: 92 matcher cases passed. Matching and mismatched tags were verified against Debian PHP 8.1 and Alpine PHP 8.5 through CLI and HTTP/HTTPS FPM checks.
Restore coverage lost when the PHP 7.2 structure suite was removed. Check that enabled-service installers are deleted, optional installers remain in the base PHP image, and bootstrap helpers stay executable. Keep the zic check Debian-only and use current file permissions without duplicating assertions already covered by shared Serverspec tests. Validation: 329 focused Serverspec examples and 102 structure checks passed on Debian and Alpine, including helper checks on a development image.
|
Kanti
marked this pull request as ready for review
October 2, 2026 12:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




PHP 8 images skipped shared Serverspec checks, and broad version assertions could accept the wrong PHP minor version. This PR restores CLI and FPM coverage for PHP 8.1–8.5 and fixes extension and development FPM provisioning.
Changes
opcache.fast_shutdownassertions, preserving applicable configuration, FTP SSL, AVIF, shmop, Redis, and OPcache coverage.DOCKER_TAG, including Alpine suffixes, while preserving prerelease support./appownership and permissions, utility binaries, removal of completed provisioning scripts, retention of optional service installers, and executable bootstrap helpers. KeepzicDebian-only and use current permissions without duplicating existing coverage.Validation
git diff --checkpassed.Fixes #577