You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[#3246] Made the installer decide database-in-image storage and removed its code from projects that do not use it. - #3263
The installer now decides whether a project uses database-in-image storage, and strips the image-only code from projects that don't. The Deploy DB image CI step, ahoy pull-db and the image reload in ahoy provision ship only with the container_registry database source. The nightly VORTEX_DB_IMAGE_BASE and VORTEX_EXPORT_DB_CONTAINER_REGISTRY_PUSH_PROCEED settings ship when either the main or the migration database uses container_registry, through a new DB_IN_IMAGE token that DatabaseFetchSource::process() resolves.
Before this, every installed project carried the whole image path and decided at runtime with [ -z "${VORTEX_DB_IMAGE}" ] checks in .github/workflows/build-test-deploy.yml, .circleci/config.yml and .ahoy.yml. A project on url, ftp, s3, acquia or lagoon got a Deploy DB image step that always printed "not used" and exited, plus a pull-db command that did nothing. Migration projects on a dump source also got VORTEX_DB_INDEX=2 ./vendor/bin/vortex-refresh-db and VORTEX_REFRESH_DB2_PROCEED, which only do anything with a migration image.
After merge, a dump-source project's CI and .ahoy.yml have no image code in them at all, and a container_registry project gets the same steps without the runtime guard. The VORTEX_DB_IMAGE guard in Deploy DB image stays in the raw template inside a VORTEX_DEV fence, because Vortex's own nightly runs the raw workflow on the url source with push turned on. The shipped vortex-* tooling scripts and the ${VORTEX_DB_IMAGE:-...} fallback in docker-compose.yml are unchanged. A project that set VORTEX_DB_IMAGE by hand on a dump source, which the installer has never offered, loses Deploy DB image on its next Vortex update.
DatabaseFetchSource::process() removes the new DB_IN_IMAGE token unless the main database or the migration database uses container_registry.
MigrationFetchSourceHandlerProcessTest asserts both sides: url drops VORTEX_REFRESH_DB2_PROCEED, the indexed refresh, VORTEX_DB_IMAGE_BASE and Deploy DB image; migration-only container_registry keeps the first 3 and still drops Deploy DB image.
.vortex/installer/CLAUDE.md lists the database tokens.
CI (build-test-deploy.yml, config.yml)
Nightly image variables are fenced with DB_IN_IMAGE, and their "(if database-in-image storage is used)" qualifiers are gone.
Deploy DB image is fenced with DB_FETCH_SOURCE_CONTAINER_REGISTRY; its VORTEX_DB_IMAGE guard is fenced with VORTEX_DEV.
The indexed vortex-refresh-db call moved from the MIGRATION fence to MIGRATION_DB_FETCH_SOURCE_CONTAINER_REGISTRY.
vortex-test-didi.yml and vortex-test-common.yml are regenerated from the sources.
Ahoy and .env
ahoy provision reloads the database container unconditionally inside a DB_FETCH_SOURCE_CONTAINER_REGISTRY fence.
ahoy pull-db is fenced the same way and runs docker pull "${VORTEX_DB_IMAGE}" without a check.
VORTEX_REFRESH_DB2_PROCEED moved into the MIGRATION_DB_FETCH_SOURCE_CONTAINER_REGISTRY block.
Docs
Deploy DB image, ahoy pull-db, the ahoy provision reload and the migration image refresh are documented as shipping with the container_registry source.
Fixtures
Regenerated with ahoy update-snapshots. The baseline loses the image code, and db_fetch_source_container_registry gains it back.
Summary by CodeRabbit
Behavior Changes
When the container registry is selected as the database source, provisioning now confirms and reloads the database before continuing.
The database image pull command is available only with the container registry source, and pull failures are now reported.
Database image refresh and deployment steps now follow the selected database source and configuration, including migration database settings.
Documentation
Clarified when database images are refreshed and deployed, the related timeout behavior, and when the image pull command is available.
Reviewing files that changed from the base of the PR and between 359e773 and ad14d22.
Files selected for processing: 1
.vortex/docs/content/development/migrations.mdx
Files skipped from review as they are similar to previous changes: 1
.vortex/docs/content/development/migrations.mdx
Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour.
Walkthrough
Database source selection now controls installer tokens, CI database refresh and image deployment steps, and the availability of Ahoy database commands. The documentation describes the updated source conditions.
provision reloads the database when the database source is container_registry. pull-db is available only for that source and runs docker pull without suppressing failures.
CI refresh and deployment .circleci/*, .github/workflows/*, .env, .vortex/docs/content/continuous-integration/*, .vortex/docs/content/development/migrations.mdx
CI migration refreshes use MIGRATION_DB_FETCH_SOURCE_CONTAINER_REGISTRY. Database-image deployment is gated by DB_FETCH_SOURCE_CONTAINER_REGISTRY, with the VORTEX_DB_IMAGE check limited to VORTEX_DEV in the specified jobs. Scheduled image settings are gated by DB_IN_IMAGE. Documentation describes the source-specific refresh and timeout conditions.
The documented migration-image refresh condition matches the CI behavior. No actionable merge risk remains from the reviewed change.
Pre-merge checks: 4
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
The title accurately summarizes the main change: the installer controls database-in-image storage and removes related code when projects do not use it.
Linked Issues check
Issue #3246 requires an installation-time decision for database-in-image storage and removal of unused image code. DatabaseFetchSource::process() keeps DB_IN_IMAGE when the main or migration sourc…
Out of Scope Changes check
The changes stay within issue #3246. Documentation, installer token documentation, functional tests, regenerated workflow files, and fixtures support or verify the installation-time database-image dec…
Full details: Linked Issues check
Explanation
Issue #3246 requires an installation-time decision for database-in-image storage and removal of unused image code. DatabaseFetchSource::process() keeps DB_IN_IMAGE when the main or migration source is container_registry and removes it otherwise. The workflow, Ahoy, .env, and migration refresh sections use source-specific tokens. The functional tests verify removal for URL sources and retention for migration-only container-registry sources.
Full details: Out of Scope Changes check
Explanation
The changes stay within issue #3246. Documentation, installer token documentation, functional tests, regenerated workflow files, and fixtures support or verify the installation-time database-image decision. The retained VORTEX_DEV guard and unchanged tooling and Compose fallback preserve required raw-template behavior.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
326-326: Major · Data Integrity & Integration · Heavy lift
Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.
Preserve file-to-image configurations on update.
An existing project can fetch a dump from url and store it in VORTEX_DB_IMAGE. These gates remove its image deployment step on update. The nightly settings are also removed, so the registry image stops receiving fresh data. The migration refresh gate has the same effect for VORTEX_DB2_IMAGE. The refresh script supports both configurations. (github.com)
Select image storage separately from the fetch source, and retain the relevant refresh and deployment code when image storage is enabled. Apply the same change to CircleCI.
Reviewing files that changed from the base of the PR and between 43d4d24 and 359e773.
Files ignored due to path filters: 109
.vortex/installer/tests/Fixtures/handler_process/_baseline/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/_baseline/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/db_fetch_source_acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/db_fetch_source_container_registry/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/db_fetch_source_container_registry/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_gha/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_dev_modules_storybook/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_dev_modules_storybook/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel_generated_content/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel_generated_content/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel_generated_content_testmode/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel_generated_content_testmode/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel_generated_content_testmode_reroute_email/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_devel_sdc_devel_generated_content_testmode_reroute_email/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_sdc_devel/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_no_sdc_devel/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_none/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/modules_none/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/provision_profile/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/storybook_enabled/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/theme_claro/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/theme_claro/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/theme_olivero/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/theme_olivero/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/theme_stark/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/theme_stark/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_dclint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_dclint_migration/.env is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_dclint_migration/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_docker_linters_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_no_stylelint/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_no_theme/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_no_theme/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_hadolint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_jest/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_jest/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_no_theme/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_no_theme/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_twig/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_twig_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_no_twig_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_none/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
.vortex/installer/tests/Fixtures/handler_process/tools_none/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
Included review availability: This review used your included allowance. 1 included review remains after this review. Your included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour.
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
A1Board worker 1Needs reviewPull request needs a review from assigned developers
1 participant
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.
Closes #3246
Summary
The installer now decides whether a project uses database-in-image storage, and strips the image-only code from projects that don't. The
Deploy DB imageCI step,ahoy pull-dband the image reload inahoy provisionship only with thecontainer_registrydatabase source. The nightlyVORTEX_DB_IMAGE_BASEandVORTEX_EXPORT_DB_CONTAINER_REGISTRY_PUSH_PROCEEDsettings ship when either the main or the migration database usescontainer_registry, through a newDB_IN_IMAGEtoken thatDatabaseFetchSource::process()resolves.Before this, every installed project carried the whole image path and decided at runtime with
[ -z "${VORTEX_DB_IMAGE}" ]checks in.github/workflows/build-test-deploy.yml,.circleci/config.ymland.ahoy.yml. A project onurl,ftp,s3,acquiaorlagoongot aDeploy DB imagestep that always printed "not used" and exited, plus apull-dbcommand that did nothing. Migration projects on a dump source also gotVORTEX_DB_INDEX=2 ./vendor/bin/vortex-refresh-dbandVORTEX_REFRESH_DB2_PROCEED, which only do anything with a migration image.After merge, a dump-source project's CI and
.ahoy.ymlhave no image code in them at all, and acontainer_registryproject gets the same steps without the runtime guard. TheVORTEX_DB_IMAGEguard inDeploy DB imagestays in the raw template inside aVORTEX_DEVfence, because Vortex's own nightly runs the raw workflow on theurlsource with push turned on. The shippedvortex-*tooling scripts and the${VORTEX_DB_IMAGE:-...}fallback indocker-compose.ymlare unchanged. A project that setVORTEX_DB_IMAGEby hand on a dump source, which the installer has never offered, losesDeploy DB imageon its next Vortex update.Before / After
Changes
Installer
DatabaseFetchSource::process()removes the newDB_IN_IMAGEtoken unless the main database or the migration database usescontainer_registry.MigrationFetchSourceHandlerProcessTestasserts both sides:urldropsVORTEX_REFRESH_DB2_PROCEED, the indexed refresh,VORTEX_DB_IMAGE_BASEandDeploy DB image; migration-onlycontainer_registrykeeps the first 3 and still dropsDeploy DB image..vortex/installer/CLAUDE.mdlists the database tokens.CI (
build-test-deploy.yml,config.yml)DB_IN_IMAGE, and their "(if database-in-image storage is used)" qualifiers are gone.Deploy DB imageis fenced withDB_FETCH_SOURCE_CONTAINER_REGISTRY; itsVORTEX_DB_IMAGEguard is fenced withVORTEX_DEV.vortex-refresh-dbcall moved from theMIGRATIONfence toMIGRATION_DB_FETCH_SOURCE_CONTAINER_REGISTRY.vortex-test-didi.ymlandvortex-test-common.ymlare regenerated from the sources.Ahoy and
.envahoy provisionreloads the database container unconditionally inside aDB_FETCH_SOURCE_CONTAINER_REGISTRYfence.ahoy pull-dbis fenced the same way and runsdocker pull "${VORTEX_DB_IMAGE}"without a check.VORTEX_REFRESH_DB2_PROCEEDmoved into theMIGRATION_DB_FETCH_SOURCE_CONTAINER_REGISTRYblock.Docs
Deploy DB image,ahoy pull-db, theahoy provisionreload and the migration image refresh are documented as shipping with thecontainer_registrysource.Fixtures
ahoy update-snapshots. The baseline loses the image code, anddb_fetch_source_container_registrygains it back.Summary by CodeRabbit
Behavior Changes
Documentation