Repository navigation
tests: enforce PHP extension inventories before publishing - #104
Merged
Merged
Conversation
Use stable NEON 3.4.8 and validate recursive conditions, exact exceptions and rule conflicts. Derive the variant from DEVSTACK_IMAGE and the version from PHP, without a profile allowlist. Report missing and unexpected modules without skipping the inventory check. Validated rule behavior for future versions, nested conditions, exceptions and malformed data. Full suites passed in all 15 maintained image variants; negative container probes rejected wrong variants and missing identity. PhpStorm inspections reported no warnings.
Run all configured tags or one requested tag through test-php.sh, passing DEVSTACK_IMAGE and aggregating failures. Invoke the same suite from all maintained PHP build scripts before push, preserving NO_TEST. Mount tooling read-only and document the NEON contract; keep investigation notes ignored. All ten real build test phases passed with NO_PULL=1 NO_BUILD=1 NO_PUSH=1. Mocked Docker checks confirmed that failed tests prevent any push, successful tests precede push, and NO_TEST bypass works. No images were rebuilt or published.
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.
This PR responds to Copilot's review of #102: printing the extension list does not fail when a required extension is missing, and individual functional tests can skip unavailable extensions. A mandatory inventory test now fails for both missing and unexpected extensions, including
memcached,xdebug, andspxwhere required.This PR targets
update-php, the branch of #102.Changes
all/anyconditions, list shorthand forall, version comparisons, and positive/negative variant flags. Reject malformed configuration and conflicting rules; document exceptions and advanced examples.IMAGE_NAMEand validate it against the runtime PHP version.test-php.sh [tag]tests one image; without arguments it tests all 15 configured variants and reports any failure.NO_TESTswitch.nette/neonto stable 3.4.8. Its PHP 8.6 behavior was verified despite its declared PHP version constraint ending at 8.5; test dependencies are prepared on the host using the PHP 8.1 Composer platform configuration.Validation
NO_TESTbypasses the suite.