Skip to content

IBX-12530: Merged branch '5.0' into 6.0 - #49

Merged
alongosz merged 5 commits into
6.0from
merge/5.0-to-6.0
Sep 13, 2026
Merged

IBX-12530: Merged branch '5.0' into 6.0#49
alongosz merged 5 commits into
6.0from
merge/5.0-to-6.0

Conversation

@Steveb-p

Copy link
Copy Markdown
Collaborator

Steveb-p and others added 5 commits September 10, 2026 14:05
…ad of a raw-file reimplementation (#43)

Previously imported schema.yaml files listed by SchemaFilesProviderInterface via
LegacySchemaImporter -- a test-only mechanism that never actually dispatched
SchemaBuilderEvent, so any package's own event subscriber (e.g. one deriving its
schema from Doctrine ORM entity mappings instead of a schema.yaml file) was never
exercised by integration tests at all.

Now calls SchemaBuilderInterface::buildSchema() directly -- the same production
code ibexa:install's legacy path uses -- and applies the resulting Schema's SQL
directly, since the test database is always freshly created. No per-package
schema file list needed.

Only registered when DoctrineSchemaBundle is actually present (detected in
IbexaTestCoreBundle::build(), which runs against the real, shared container --
unlike Extension::load(), which runs against a temporary per-extension copy
MergeExtensionConfigurationPass uses to avoid cross-extension leakage, so sibling
bundles' extensions never show up there).
…ot just IbexaTestKernel (#44)

Let Bootstrapper run against any KernelInterface, not just IbexaTestKernel

KernelProvider asserted an IbexaTestKernel subclass and DatabasePreparer/Bootstrapper echoed that
in their signatures, yet none of those bodies touch anything beyond KernelInterface: an Application
to run console commands through, a container, and shutdown(). Relaxed all of them, so a package
testing its own bundle in isolation can bring its own kernel. FixtureKernelMethodProvider already
worked this way, duck-typing getFixtures() off a plain KernelInterface.

That alone wasn't enough: FixtureHook autowires FixtureImporter (registered by
IbexaTestKernel::loadServices()) and both purge hooks reference "ibexa.spi.search" (registered by
IbexaCoreBundle), so a minimal kernel failed container compilation just for registering
IbexaTestCoreBundle. Added them to RemoveUnsatisfiableHooksPass, which already drops
DatabaseSchemaHook the same way -- one mechanism for every built-in hook rather than a special case
per hook.
# Conflicts:
#	src/contracts/Bootstrapper/DatabasePreparer.php
#	src/contracts/Bootstrapper/DatabasePreparerInterface.php
#	src/contracts/IbexaTestKernel.php
A PHPUnit run artifact swept into the merge commit by a 'git add -A' during conflict
resolution. It is not tracked on 4.6, 5.0 or 6.0 and should never have been added.
@alongosz

Copy link
Copy Markdown
Member

Merging to unblock merge-ups in the other PRs.

@alongosz
alongosz merged commit 8fca927 into 6.0 Sep 13, 2026
5 checks passed
@alongosz
alongosz deleted the merge/5.0-to-6.0 branch September 13, 2026 13:05
Steveb-p added a commit to ibexa/doctrine-migrations that referenced this pull request Sep 13, 2026
ibexa/test-core#49 has been merged into 6.0, so the pin to its merge-up branch is no longer
needed - and that branch has been deleted, which would break composer install.
Steveb-p added a commit to ibexa/messenger that referenced this pull request Sep 13, 2026
ibexa/test-core#49 has been merged into 6.0, so the pin to its merge-up branch is no longer
needed - and that branch has been deleted, which would break composer install.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Fast-forward merge PR should be merged in a fast-forward way

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants