IBX-12358: Introduced Bootstrapper / Hooks for integration tests - #115
Merged
Conversation
…d-ci.yaml This repo's workflow called a local composite action (.github/actions/composer-install) that wrapped ramsey/composer-install directly after computing COMPOSER_ROOT_VERSION from composer.json's branch-alias, unlike sibling packages (e.g. product-catalog, connector-dam), which go through ibexa/gh-workflows/actions/composer-install@main paired with ibexa/gh-workflows/actions/setup-composer-root-version@main for the same COMPOSER_ROOT_VERSION behavior. The shared composer-install action is also the only thing that processes a dependencies.json file at the repo root - content-forms's had been silently inert, so CI was actually testing against the real published ibexa/test-core instead of the intended branch. Bringing this workflow in line with the rest of the org fixes that for good, not just for this PR. The now-unused local composite action is removed.
Replaces the manual kernel boot+shutdown with the shared Bootstrapper, registering IbexaTestCoreBundle in the integration Kernel and disabling database preparation, schema loading, and fixture loading - the only integration test (TranslationTest) never touches the database/repository.
Points CI at the branch that adds the Bootstrapper mechanism, so this PR's tests can run before that PR merges. Must be removed before merging.
Steveb-p
marked this pull request as ready for review
August 26, 2026 13:46
ibexa-workflow-automation-1
Bot
requested review from
ViniTou,
alongosz,
barw4,
bnowak,
ciastektk,
konradoboza,
mikadamczyk,
tbialcz and
wiewiurdp
and removed request for
a team
August 26, 2026 13:46
bnowak
approved these changes
Aug 27, 2026
|
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.



Related PRs:
Description:
Sixth rollout sample, another "minimal boot-and-shutdown" case: this package's only integration
test (
TranslationTest) checks translation config, not repository/content data, and the oldtests/bootstrap.phpnever touched the database at all - just kernel boot + shutdown, no schema orfixture import.
tests/bootstrap.php: collapsed to(new Bootstrapper())->bootstrap(...), withBootstrapper::OPTION_PREPARE_DATABASE,DatabaseSchemaHook::OPTION_LOAD_SCHEMAandFixtureHook::OPTION_LOAD_FIXTURESall disabled - matching the old script's behavior exactly(no database creation, no schema/fixture import), not just a default that happens to compile.
tests/integration/Kernel.php: registersIbexaTestCoreBundleitself (the shared kernel doesn'tauto-register it).
Separately, and unrelated to the Bootstrapper migration itself:
backend-ci.yamlwas calling alocal composite action (
.github/actions/composer-install) that wrappedramsey/composer-installdirectly instead of
ibexa/gh-workflows/actions/composer-install@main. That shared action is theonly thing that processes
dependencies.json, so this repo's CI would silently ignore it and keeptesting against the real published
ibexa/test-core- this PR's owndependencies.jsoncommitwouldn't have done anything without this fix. Swapped in the shared action (paired with
ibexa/gh-workflows/actions/setup-composer-root-version@mainto keep theCOMPOSER_ROOT_VERSIONbehavior the local composite used to provide) and removed the now-unused local composite. This is a
genuine, permanent fix, not something to revert once
dependencies.jsongoes away.For QA:
Not applicable - test infrastructure only, no runtime behavior change.
Verified locally: no database file gets created, 1 integration + 94 unit tests pass, PHPStan and
cs-fixer clean.