diff --git a/.dockerignore b/.dockerignore index f800a75a89..22544fa0ee 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,73 +1,63 @@ -# Ignore everything but a whitelist of files. +# Deny list of paths excluded from the container image build context. +# Everything not listed here is included into the image. # -# It is very important to only add production assets to the container during -# the build. Adding anything else, like tests files or packages, has potential -# security implications. +# Never let VCS internals, secrets, local overrides, database dumps or +# host-installed dependencies enter the image: they leak data, bloat the +# context and override the in-image build results. -# Ignore everything. -* +# VCS, IDE and OS files. +.git +.idea +.vscode +**/.DS_Store -# Do not ignore web. -#; @todo: Add support for renamed web. -!web - -# Do not ignore config. -!config - -# Do not ignore recipes. -!recipes - -# But still ignore Drupal directories generated by Composer. +# Drupal directories generated by Composer during the image build. web/core +web/libraries web/modules/contrib -web/themes/contrib web/profiles/contrib -web/libraries -!drush -drush/contrib/ +web/themes/contrib +drush/Commands/contrib -# Do not ignore other required files. -!.circleci -!.docker/config -!.docker/scripts -!.env -!.eslintignore -!.eslintrc.json -!.prettierignore -!.prettierrc.json -!.sass-lint.yml -!.stylelintrc.js -!.twig-cs-fixer.php -!auth.json -!behat.yml -!composer.json -!composer.lock -!gherkinlint.json -!jest.config.js -!package-lock.json -!package.json -!patches -!patches.lock.json -!phpcs.xml -!phpstan.neon -!phpunit.xml -!postcss.config.js -!rector.php -!scripts -!tests -!yarn.lock +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml -#;< HOSTING_ACQUIA -!hooks -#;> HOSTING_ACQUIA -#;< HOSTING_LAGOON -!.lagoon.env.* -#;> HOSTING_LAGOON +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest #;< VORTEX_DEV -# In-tree tooling package; consumer sites get it from packagist. -!.vortex +# In-tree test harness; consumer sites get tooling from packagist. .vortex/* !.vortex/tooling .vortex/tooling/tests +.vortex/tooling/playground +.vortex/tooling/vendor +README.dist.md #;> VORTEX_DEV + +# Dependencies are installed during the image build. +vendor +node_modules +web/themes/**/node_modules + +# Theme build assets are compiled during the image build. +web/themes/**/build + +# Caches, data, logs and temporary artifacts. +**/.artifacts +**/.data +**/.logs +**/.phpunit.cache +**/.twig-cs-fixer.cache + +#;< CI_PROVIDER_GHA +# Database cache key files written into the workspace by the CI workflow. +db_cache_* +#;> CI_PROVIDER_GHA + +# Local override files. +docker-compose.override.yml +.env.local +.ahoy.local.yml diff --git a/.gitignore b/.gitignore index 79fe5f79df..2b290fecb1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,55 +1,43 @@ # To ignore OS temporary files use global .gitignore # https://help.github.com/articles/ignoring-files/#create-a-global-gitignore -# Ignore Drupal webroot, but preserve custom modules, themes and settings. -# To add an override file, explicitly un-ignore it below and add to the -# repository (useful for robots.txt and .htaccess file overrides). +# Deny list of generated, downloaded and local-only files. Everything not +# listed here is tracked. #; To simplify maintenance of Vortex, we support only 'web' document root #; defined explicitly here. -web/* -!web/sites/ -web/sites/* -!web/modules/ -web/modules/* -!web/modules/custom/ -!web/themes/ -web/themes/* -!web/themes/custom/ -!web/profiles/ -web/profiles/* -!web/profiles/custom/ -!web/sites/default/ -web/sites/default/* -!web/sites/default/settings.php -!web/sites/default/services.yml -#;< MIGRATION -!web/sites/default/settings.migration.php -#;> MIGRATION -!web/sites/default/example.settings.local.php -!web/sites/default/example.services.local.yml -!web/sites/default/default.settings.local.php -!web/sites/default/default.services.local.yml -!web/sites/default/includes -# Preserve default settings files to use them in Functional test. -!web/sites/default/default.settings.php -!web/sites/default/default.services.yml -# Allow Drupal Scaffold files. @see https://github.com/drupal-composer/drupal-scaffold#limitation -!web/.editorconfig -!web/.eslintignore -!web/.gitattributes -!web/.htaccess -!web/autoload.php -!web/index.php -!web/update.php +# Drupal directories generated by Composer. +web/core +web/libraries +web/modules/contrib +web/profiles/contrib +web/themes/contrib +drush/Commands/contrib -# Ignore all recipes by default. Custom recipes should be added explicitly. +# Drupal scaffold files copied into the webroot during the build. The README +# files are kept scaffolded because they materialize otherwise-empty extension +# directories that the Drupal core test bootstrap requires to exist. +web/modules/README.txt +web/profiles/README.txt +web/sites/README.txt +web/sites/development.services.yml +web/themes/README.txt + +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Composer installs contrib recipes into 'recipes/', next to custom recipes, +# so recipes stay an allow list: un-ignore custom recipes explicitly. recipes/* !recipes/page #;< AI_CODE_INSTRUCTIONS # Ignore all Claude files by default. Custom files should be added explicitly. -!.claude .claude/* !.claude/settings.json #;> AI_CODE_INSTRUCTIONS @@ -61,20 +49,22 @@ recipes/* !.claude/skills/ #;> VORTEX_DEV -# Ignore dependencies cache files. +# Dependencies. /vendor /node_modules web/themes/**/node_modules -# Assets. +# Theme build assets. web/themes/**/build + +# Caches, data, logs and temporary artifacts. .artifacts .data .logs .phpunit.cache .twig-cs-fixer.cache -# Ignore local override files. +# Local override files. /docker-compose.override.yml /.env.local /.ahoy.local.yml diff --git a/.gitignore.artifact b/.gitignore.artifact index 24bc108b05..6b60c4eeb1 100644 --- a/.gitignore.artifact +++ b/.gitignore.artifact @@ -1,40 +1,113 @@ # Replaces standard .gitignore when building a deployment artifact. +# +# Deny list of paths excluded from the deployment artifact. Everything not +# listed here is deployed to the hosting code repository. -# Ignore all files except those specifically allowed. -/* - -# Do not ignore required files. -!.env -!/config/ -!/drush/ -!/scripts/ -!/vendor/ -!composer.json - -# Do not ignore webroot (manage Drupal Scaffold files using the composer.json) -!web -# But ignore content files and test artifacts. -web/sites/default/files -web/sites/simpletest +# VCS, IDE and OS files. +/.git +/.idea +/.vscode +**/.DS_Store -# Ignore non-production Drupal Scaffold files. +# Non-production Drupal Scaffold files. web/sites/default/default.services.local.yml web/sites/default/default.settings.local.php web/sites/default/example.services.local.yml web/sites/default/example.settings.local.php -# Ignore custom theme asset sources. +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Development, CI and AI configuration. +/.ahoy.yml +/.circleci +/.claude +/.dclintrc +/.docker +/.dockerignore +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.github +/.gitignore.artifact +/.gitleaks.toml +/.lagoon.yml +/.prettierignore +/.prettierrc.json +/.stylelintrc.js +/.twig-cs-fixer.php +/AGENTS.md +/CLAUDE.md +/docker-compose.yml +/renovate.json + +#;< CI_PROVIDER_GHA +# Database cache key files written into the workspace by the CI workflow. +/db_cache_* +#;> CI_PROVIDER_GHA + +#;< VORTEX_DEV +# In-tree Vortex development files that never exist in consumer sites. +/.vortex +/README.dist.md +#;> VORTEX_DEV + +# Documentation. +/docs +/CODE_OF_CONDUCT.md +/CONTRIBUTING.md +/LICENSE +/README.md +/SECURITY.md + +# Testing and linting configuration. +/tests +/behat.yml +/gherkinlint.json +/jest.config.js +/phpcs.xml +/phpstan.neon +/phpunit.xml +/postcss.config.js +/rector.php + +# Dependency manifests, lock files and packages not needed at runtime. +/composer.lock +/node_modules +/package.json +/package-lock.json +/patches +/patches.lock.json +/yarn.lock +web/themes/**/node_modules + +# Custom theme asset sources - only compiled assets in 'build' are deployed. web/themes/custom/your_site_theme/.eslintrc.json web/themes/custom/your_site_theme/fonts web/themes/custom/your_site_theme/images web/themes/custom/your_site_theme/js -web/themes/custom/your_site_theme/node_modules web/themes/custom/your_site_theme/package.json web/themes/custom/your_site_theme/postcss.config.js web/themes/custom/your_site_theme/scss web/themes/custom/your_site_theme/yarn.lock -#;< HOSTING_ACQUIA -# Do not ignore Acquia hooks. -!/hooks/ -#;> HOSTING_ACQUIA +# Caches, data, logs and temporary artifacts. +.artifacts +.data +.logs +.phpunit.cache +.twig-cs-fixer.cache + +# Credentials and local override files. +/auth.json +/docker-compose.override.yml +/.env.local +/.env.local.example +/.ahoy.local.yml +/.ahoy.local.example.yml diff --git a/.vortex/docs/content/architecture.mdx b/.vortex/docs/content/architecture.mdx index 1324d0f560..a179d8612f 100644 --- a/.vortex/docs/content/architecture.mdx +++ b/.vortex/docs/content/architecture.mdx @@ -72,6 +72,36 @@ Support for DDEV and Lando is on our [roadmap](/docs/contributing/roadmap) for l ::: +## Ignored files + +**Vortex** manages three ignore files as **deny lists**: everything is tracked, +built, or deployed by default, and each file lists only what must be excluded. +This is the opposite of an allow list, where everything is excluded by default +and every addition has to be explicitly re-included. The deny-list model follows +the "avoid silent errors" principle - a newly added file is visible by default +instead of silently disappearing until someone remembers to allow it. + +The `.gitignore` file controls what is tracked in the project repository. It +excludes Composer- and Yarn-generated directories (`web/core`, +`web/modules/contrib`, `vendor`, `node_modules`), local setting overrides, +caches, and content files. Two sections stay as small allow lists because a deny +rule cannot express them: + +- `recipes/` - Composer installs contributed recipes next to your custom ones, + so custom recipes are un-ignored explicitly (`!recipes/page`). +- `.claude/` - only `.claude/settings.json` is tracked by default. + +The other two ignore files apply the same deny-list model to different targets: + +- `.dockerignore` controls the container image build context. + ➡️ See [Tools > Docker](./tools/docker#build-context-and-dockerignore) +- `.gitignore.artifact` controls the deployment artifact. + ➡️ See [Deployment > Artifact](./deployment/artifact#artifact-file-control) + +When you add a new file or directory to your project, it is tracked, built, and +deployed automatically. Add an entry to one of these files only when a file must +be kept out of that particular target. + ## Drupal management ### Provisioning diff --git a/.vortex/docs/content/deployment/artifact.mdx b/.vortex/docs/content/deployment/artifact.mdx index 7a02d25f9e..859f18c0ed 100644 --- a/.vortex/docs/content/deployment/artifact.mdx +++ b/.vortex/docs/content/deployment/artifact.mdx @@ -55,27 +55,41 @@ When `artifact` is included in `$VORTEX_DEPLOY_TYPES`, the deployment script: ## Artifact file control -The `.gitignore.artifact` file controls which files are included in or excluded -from the artifact. This file replaces the standard `.gitignore` in the artifact -repository. - -**Vortex** provides a +The `.gitignore.artifact` file controls which files are included in the +deployment artifact. During deployment it replaces the standard `.gitignore` in +the artifact repository, so its rules - not the project's normal ignore rules - +decide what reaches the hosting Git repository. + +**Vortex** writes `.gitignore.artifact` as a **deny list**: every file is +deployed by default, and the file lists only what must be kept out of +production. **Vortex** provides a [pre-configured `.gitignore.artifact`](https://github.com/drevops/vortex/blob/main/.gitignore.artifact) -that includes all required files for a production Drupal site while excluding -development dependencies. +that deploys everything a production Drupal site needs - `vendor/`, the built +webroot (Drupal core, contributed modules and themes, and compiled theme +assets), `config/`, `drush/`, `scripts/`, and `.env` - while excluding: + +- Development, continuous integration, and AI configuration (`.ahoy.yml`, + `.circleci`, `.docker`, `.github`, `docker-compose.yml`). +- Documentation and testing configuration (`docs`, `tests`, `behat.yml`, + `phpunit.xml`, `phpcs.xml`). +- Dependency manifests and lock files not needed at runtime (`composer.lock`, + `package.json`, `yarn.lock`). +- Credentials, local overrides, caches, and content files (`auth.json`, + `.env.local`, `.data`, `web/sites/*/files`). +- Theme asset sources, since only the compiled `build/` output is deployed. ### Customizing the artifact -Edit `.gitignore.artifact` to add or remove files from the artifact: +Because the file is a deny list, a new file you add to the project is deployed +automatically. Edit `.gitignore.artifact` only to keep an additional file out of +the artifact, or to re-include something that a broader rule excludes: ```shell title=".gitignore.artifact" -# Include compiled assets -!/web/themes/custom/*/dist +# Keep an additional development file out of the artifact. +/RELEASE.md -# Exclude test files -/tests -/behat.yml -/phpunit.xml +# Re-include theme images that the artifact excludes by default. +!/web/themes/custom/your_site_theme/images ``` ## Use cases diff --git a/.vortex/docs/content/tools/docker.mdx b/.vortex/docs/content/tools/docker.mdx index b38e8ef94a..3d33fdd366 100644 --- a/.vortex/docs/content/tools/docker.mdx +++ b/.vortex/docs/content/tools/docker.mdx @@ -242,6 +242,33 @@ each other. [Pygmy](pygmy.mdx) provides the default `amazeeio-network` network that is used to connect all containers together. +## Build context and `.dockerignore` + +When an image is built, Docker sends a **build context** - the set of files it +is allowed to copy into the image - to the build engine. **Vortex** controls +this context with a `.dockerignore` file written as a **deny list**: every file +is part of the build context by default, and the file lists only what must be +kept out. + +Excluded from the image build context: + +- Version control, IDE, and operating system files (`.git`, `.idea`, + `**/.DS_Store`). +- Credentials and local overrides (`.env.local`, `docker-compose.override.yml`, + `web/sites/*/settings.local.php`). +- Host-installed dependencies, which are reinstalled during the build (`vendor`, + `node_modules`, `web/themes/**/node_modules`). +- Composer-generated Drupal directories, which are regenerated during the build + (`web/core`, `web/modules/contrib`, `drush/Commands/contrib`). +- Content files, caches, logs, and compiled theme assets (`web/sites/*/files`, + `.data`, `.logs`, `web/themes/**/build`). + +Keeping these out of the context matters for both security - secrets and +database dumps never reach an image layer - and speed, since a smaller context +builds faster. Everything not listed, such as application code, configuration, +`composer.json`, and settings files, is included automatically, so a new file +you add reaches the build without any change to `.dockerignore`. + ## Validate `docker-compose.yml` After updating the `docker-compose.yml` file, it is useful sometimes to validate diff --git a/.vortex/docs/content/tools/git-artifact.mdx b/.vortex/docs/content/tools/git-artifact.mdx index dce6dae10d..16dde92823 100644 --- a/.vortex/docs/content/tools/git-artifact.mdx +++ b/.vortex/docs/content/tools/git-artifact.mdx @@ -34,6 +34,9 @@ artifact during the continuous integration pipeline build). Modifying targets in the `.gitignore.artifact` file works just like updating a regular `.gitignore` file. +➡️ See [Deployment > Artifact](/docs/deployment/artifact#artifact-file-control) +for the deny-list model and the list of files the artifact excludes. + The `git-artifact` binary is downloaded from [GitHub Releases](https://github.com/drevops/git-artifact/releases) and verified with a SHA256 checksum before execution. diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/_baseline/.dockerignore index 5d0bbe2615..969dc2a0ca 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/_baseline/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/.dockerignore @@ -1,57 +1,51 @@ -# Ignore everything but a whitelist of files. +# Deny list of paths excluded from the container image build context. +# Everything not listed here is included into the image. # -# It is very important to only add production assets to the container during -# the build. Adding anything else, like tests files or packages, has potential -# security implications. +# Never let VCS internals, secrets, local overrides, database dumps or +# host-installed dependencies enter the image: they leak data, bloat the +# context and override the in-image build results. -# Ignore everything. -* +# VCS, IDE and OS files. +.git +.idea +.vscode +**/.DS_Store -# Do not ignore web. -!web - -# Do not ignore config. -!config - -# Do not ignore recipes. -!recipes - -# But still ignore Drupal directories generated by Composer. +# Drupal directories generated by Composer during the image build. web/core +web/libraries web/modules/contrib -web/themes/contrib web/profiles/contrib -web/libraries -!drush -drush/contrib/ - -# Do not ignore other required files. -!.circleci -!.docker/config -!.docker/scripts -!.env -!.eslintignore -!.eslintrc.json -!.prettierignore -!.prettierrc.json -!.sass-lint.yml -!.stylelintrc.js -!.twig-cs-fixer.php -!auth.json -!behat.yml -!composer.json -!composer.lock -!gherkinlint.json -!jest.config.js -!package-lock.json -!package.json -!patches -!patches.lock.json -!phpcs.xml -!phpstan.neon -!phpunit.xml -!postcss.config.js -!rector.php -!scripts -!tests -!yarn.lock +web/themes/contrib +drush/Commands/contrib + +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Dependencies are installed during the image build. +vendor +node_modules +web/themes/**/node_modules + +# Theme build assets are compiled during the image build. +web/themes/**/build + +# Caches, data, logs and temporary artifacts. +**/.artifacts +**/.data +**/.logs +**/.phpunit.cache +**/.twig-cs-fixer.cache + +# Database cache key files written into the workspace by the CI workflow. +db_cache_* + +# Local override files. +docker-compose.override.yml +.env.local +.ahoy.local.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/_baseline/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/_baseline/.gitignore index 27b4102490..d64bed8f99 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/_baseline/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/_baseline/.gitignore @@ -1,66 +1,59 @@ # To ignore OS temporary files use global .gitignore # https://help.github.com/articles/ignoring-files/#create-a-global-gitignore -# Ignore Drupal webroot, but preserve custom modules, themes and settings. -# To add an override file, explicitly un-ignore it below and add to the -# repository (useful for robots.txt and .htaccess file overrides). +# Deny list of generated, downloaded and local-only files. Everything not +# listed here is tracked. -web/* -!web/sites/ -web/sites/* -!web/modules/ -web/modules/* -!web/modules/custom/ -!web/themes/ -web/themes/* -!web/themes/custom/ -!web/profiles/ -web/profiles/* -!web/profiles/custom/ -!web/sites/default/ -web/sites/default/* -!web/sites/default/settings.php -!web/sites/default/services.yml -!web/sites/default/example.settings.local.php -!web/sites/default/example.services.local.yml -!web/sites/default/default.settings.local.php -!web/sites/default/default.services.local.yml -!web/sites/default/includes -# Preserve default settings files to use them in Functional test. -!web/sites/default/default.settings.php -!web/sites/default/default.services.yml -# Allow Drupal Scaffold files. @see https://github.com/drupal-composer/drupal-scaffold#limitation -!web/.editorconfig -!web/.eslintignore -!web/.gitattributes -!web/.htaccess -!web/autoload.php -!web/index.php -!web/update.php +# Drupal directories generated by Composer. +web/core +web/libraries +web/modules/contrib +web/profiles/contrib +web/themes/contrib +drush/Commands/contrib -# Ignore all recipes by default. Custom recipes should be added explicitly. +# Drupal scaffold files copied into the webroot during the build. The README +# files are kept scaffolded because they materialize otherwise-empty extension +# directories that the Drupal core test bootstrap requires to exist. +web/modules/README.txt +web/profiles/README.txt +web/sites/README.txt +web/sites/development.services.yml +web/themes/README.txt + +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Composer installs contrib recipes into 'recipes/', next to custom recipes, +# so recipes stay an allow list: un-ignore custom recipes explicitly. recipes/* !recipes/page # Ignore all Claude files by default. Custom files should be added explicitly. -!.claude .claude/* !.claude/settings.json -# Ignore dependencies cache files. +# Dependencies. /vendor /node_modules web/themes/**/node_modules -# Assets. +# Theme build assets. web/themes/**/build + +# Caches, data, logs and temporary artifacts. .artifacts .data .logs .phpunit.cache .twig-cs-fixer.cache -# Ignore local override files. +# Local override files. /docker-compose.override.yml /.env.local /.ahoy.local.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/ai_instructions_disabled/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/ai_instructions_disabled/.gitignore index 52f7a9f206..0e67cbf8e8 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/ai_instructions_disabled/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/ai_instructions_disabled/.gitignore @@ -1,12 +1,11 @@ -@@ -42,11 +42,6 @@ +@@ -34,10 +34,6 @@ recipes/* !recipes/page -# Ignore all Claude files by default. Custom files should be added explicitly. --!.claude -.claude/* -!.claude/settings.json - - # Ignore dependencies cache files. + # Dependencies. /vendor /node_modules diff --git a/.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.gitignore.artifact b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.gitignore.artifact index 34d8d637ec..47693faea9 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.gitignore.artifact +++ b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.gitignore.artifact @@ -1,35 +1,102 @@ # Replaces standard .gitignore when building a deployment artifact. +# +# Deny list of paths excluded from the deployment artifact. Everything not +# listed here is deployed to the hosting code repository. -# Ignore all files except those specifically allowed. -/* - -# Do not ignore required files. -!.env -!/config/ -!/drush/ -!/scripts/ -!/vendor/ -!composer.json - -# Do not ignore webroot (manage Drupal Scaffold files using the composer.json) -!web -# But ignore content files and test artifacts. -web/sites/default/files -web/sites/simpletest +# VCS, IDE and OS files. +/.git +/.idea +/.vscode +**/.DS_Store -# Ignore non-production Drupal Scaffold files. +# Non-production Drupal Scaffold files. web/sites/default/default.services.local.yml web/sites/default/default.settings.local.php web/sites/default/example.services.local.yml web/sites/default/example.settings.local.php -# Ignore custom theme asset sources. +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Development, CI and AI configuration. +/.ahoy.yml +/.circleci +/.claude +/.dclintrc +/.docker +/.dockerignore +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.github +/.gitignore.artifact +/.gitleaks.toml +/.lagoon.yml +/.prettierignore +/.prettierrc.json +/.stylelintrc.js +/.twig-cs-fixer.php +/AGENTS.md +/CLAUDE.md +/docker-compose.yml +/renovate.json + +# Documentation. +/docs +/CODE_OF_CONDUCT.md +/CONTRIBUTING.md +/LICENSE +/README.md +/SECURITY.md + +# Testing and linting configuration. +/tests +/behat.yml +/gherkinlint.json +/jest.config.js +/phpcs.xml +/phpstan.neon +/phpunit.xml +/postcss.config.js +/rector.php + +# Dependency manifests, lock files and packages not needed at runtime. +/composer.lock +/node_modules +/package.json +/package-lock.json +/patches +/patches.lock.json +/yarn.lock +web/themes/**/node_modules + +# Custom theme asset sources - only compiled assets in 'build' are deployed. web/themes/custom/star_wars/.eslintrc.json web/themes/custom/star_wars/fonts web/themes/custom/star_wars/images web/themes/custom/star_wars/js -web/themes/custom/star_wars/node_modules web/themes/custom/star_wars/package.json web/themes/custom/star_wars/postcss.config.js web/themes/custom/star_wars/scss web/themes/custom/star_wars/yarn.lock + +# Caches, data, logs and temporary artifacts. +.artifacts +.data +.logs +.phpunit.cache +.twig-cs-fixer.cache + +# Credentials and local override files. +/auth.json +/docker-compose.override.yml +/.env.local +/.env.local.example +/.ahoy.local.yml +/.ahoy.local.example.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_gha/.gitignore.artifact b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_gha/.gitignore.artifact index 34d8d637ec..f3a4ce6f23 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_gha/.gitignore.artifact +++ b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_gha/.gitignore.artifact @@ -1,35 +1,105 @@ # Replaces standard .gitignore when building a deployment artifact. +# +# Deny list of paths excluded from the deployment artifact. Everything not +# listed here is deployed to the hosting code repository. -# Ignore all files except those specifically allowed. -/* - -# Do not ignore required files. -!.env -!/config/ -!/drush/ -!/scripts/ -!/vendor/ -!composer.json - -# Do not ignore webroot (manage Drupal Scaffold files using the composer.json) -!web -# But ignore content files and test artifacts. -web/sites/default/files -web/sites/simpletest +# VCS, IDE and OS files. +/.git +/.idea +/.vscode +**/.DS_Store -# Ignore non-production Drupal Scaffold files. +# Non-production Drupal Scaffold files. web/sites/default/default.services.local.yml web/sites/default/default.settings.local.php web/sites/default/example.services.local.yml web/sites/default/example.settings.local.php -# Ignore custom theme asset sources. +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Development, CI and AI configuration. +/.ahoy.yml +/.circleci +/.claude +/.dclintrc +/.docker +/.dockerignore +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.github +/.gitignore.artifact +/.gitleaks.toml +/.lagoon.yml +/.prettierignore +/.prettierrc.json +/.stylelintrc.js +/.twig-cs-fixer.php +/AGENTS.md +/CLAUDE.md +/docker-compose.yml +/renovate.json + +# Database cache key files written into the workspace by the CI workflow. +/db_cache_* + +# Documentation. +/docs +/CODE_OF_CONDUCT.md +/CONTRIBUTING.md +/LICENSE +/README.md +/SECURITY.md + +# Testing and linting configuration. +/tests +/behat.yml +/gherkinlint.json +/jest.config.js +/phpcs.xml +/phpstan.neon +/phpunit.xml +/postcss.config.js +/rector.php + +# Dependency manifests, lock files and packages not needed at runtime. +/composer.lock +/node_modules +/package.json +/package-lock.json +/patches +/patches.lock.json +/yarn.lock +web/themes/**/node_modules + +# Custom theme asset sources - only compiled assets in 'build' are deployed. web/themes/custom/star_wars/.eslintrc.json web/themes/custom/star_wars/fonts web/themes/custom/star_wars/images web/themes/custom/star_wars/js -web/themes/custom/star_wars/node_modules web/themes/custom/star_wars/package.json web/themes/custom/star_wars/postcss.config.js web/themes/custom/star_wars/scss web/themes/custom/star_wars/yarn.lock + +# Caches, data, logs and temporary artifacts. +.artifacts +.data +.logs +.phpunit.cache +.twig-cs-fixer.cache + +# Credentials and local override files. +/auth.json +/docker-compose.override.yml +/.env.local +/.env.local.example +/.ahoy.local.yml +/.ahoy.local.example.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_artifact/.gitignore.artifact b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_artifact/.gitignore.artifact index 34d8d637ec..f3a4ce6f23 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_artifact/.gitignore.artifact +++ b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_artifact/.gitignore.artifact @@ -1,35 +1,105 @@ # Replaces standard .gitignore when building a deployment artifact. +# +# Deny list of paths excluded from the deployment artifact. Everything not +# listed here is deployed to the hosting code repository. -# Ignore all files except those specifically allowed. -/* - -# Do not ignore required files. -!.env -!/config/ -!/drush/ -!/scripts/ -!/vendor/ -!composer.json - -# Do not ignore webroot (manage Drupal Scaffold files using the composer.json) -!web -# But ignore content files and test artifacts. -web/sites/default/files -web/sites/simpletest +# VCS, IDE and OS files. +/.git +/.idea +/.vscode +**/.DS_Store -# Ignore non-production Drupal Scaffold files. +# Non-production Drupal Scaffold files. web/sites/default/default.services.local.yml web/sites/default/default.settings.local.php web/sites/default/example.services.local.yml web/sites/default/example.settings.local.php -# Ignore custom theme asset sources. +# Local settings overrides. +web/sites/*/settings.local.php +web/sites/*/services.local.yml + +# Content files and test artifacts. +web/sites/*/files +web/sites/simpletest + +# Development, CI and AI configuration. +/.ahoy.yml +/.circleci +/.claude +/.dclintrc +/.docker +/.dockerignore +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.github +/.gitignore.artifact +/.gitleaks.toml +/.lagoon.yml +/.prettierignore +/.prettierrc.json +/.stylelintrc.js +/.twig-cs-fixer.php +/AGENTS.md +/CLAUDE.md +/docker-compose.yml +/renovate.json + +# Database cache key files written into the workspace by the CI workflow. +/db_cache_* + +# Documentation. +/docs +/CODE_OF_CONDUCT.md +/CONTRIBUTING.md +/LICENSE +/README.md +/SECURITY.md + +# Testing and linting configuration. +/tests +/behat.yml +/gherkinlint.json +/jest.config.js +/phpcs.xml +/phpstan.neon +/phpunit.xml +/postcss.config.js +/rector.php + +# Dependency manifests, lock files and packages not needed at runtime. +/composer.lock +/node_modules +/package.json +/package-lock.json +/patches +/patches.lock.json +/yarn.lock +web/themes/**/node_modules + +# Custom theme asset sources - only compiled assets in 'build' are deployed. web/themes/custom/star_wars/.eslintrc.json web/themes/custom/star_wars/fonts web/themes/custom/star_wars/images web/themes/custom/star_wars/js -web/themes/custom/star_wars/node_modules web/themes/custom/star_wars/package.json web/themes/custom/star_wars/postcss.config.js web/themes/custom/star_wars/scss web/themes/custom/star_wars/yarn.lock + +# Caches, data, logs and temporary artifacts. +.artifacts +.data +.logs +.phpunit.cache +.twig-cs-fixer.cache + +# Credentials and local override files. +/auth.json +/docker-compose.override.yml +/.env.local +/.env.local.example +/.ahoy.local.yml +/.ahoy.local.example.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.dockerignore index 80bddf552b..5d1e4895ee 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.dockerignore @@ -1,32 +1,40 @@ -@@ -8,7 +8,7 @@ - * +@@ -12,28 +12,28 @@ + **/.DS_Store - # Do not ignore web. --!web -+!docroot - - # Do not ignore config. - !config -@@ -17,11 +17,11 @@ - !recipes - - # But still ignore Drupal directories generated by Composer. + # Drupal directories generated by Composer during the image build. -web/core +-web/libraries -web/modules/contrib --web/themes/contrib -web/profiles/contrib --web/libraries +-web/themes/contrib +docroot/core ++docroot/libraries +docroot/modules/contrib -+docroot/themes/contrib +docroot/profiles/contrib -+docroot/libraries - !drush - drush/contrib/ ++docroot/themes/contrib + drush/Commands/contrib + + # Local settings overrides. +-web/sites/*/settings.local.php +-web/sites/*/services.local.yml ++docroot/sites/*/settings.local.php ++docroot/sites/*/services.local.yml + + # Content files and test artifacts. +-web/sites/*/files +-web/sites/simpletest ++docroot/sites/*/files ++docroot/sites/simpletest + + # Dependencies are installed during the image build. + vendor + node_modules +-web/themes/**/node_modules ++docroot/themes/**/node_modules + + # Theme build assets are compiled during the image build. +-web/themes/**/build ++docroot/themes/**/build -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!hooks + # Caches, data, logs and temporary artifacts. + **/.artifacts diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore index 64fa0f86f0..219d7b539a 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore @@ -1,82 +1,57 @@ -@@ -5,38 +5,38 @@ - # To add an override file, explicitly un-ignore it below and add to the - # repository (useful for robots.txt and .htaccess file overrides). +@@ -5,29 +5,29 @@ + # listed here is tracked. --web/* --!web/sites/ --web/sites/* --!web/modules/ --web/modules/* --!web/modules/custom/ --!web/themes/ --web/themes/* --!web/themes/custom/ --!web/profiles/ --web/profiles/* --!web/profiles/custom/ --!web/sites/default/ --web/sites/default/* --!web/sites/default/settings.php --!web/sites/default/services.yml --!web/sites/default/example.settings.local.php --!web/sites/default/example.services.local.yml --!web/sites/default/default.settings.local.php --!web/sites/default/default.services.local.yml --!web/sites/default/includes -+docroot/* -+!docroot/sites/ -+docroot/sites/* -+!docroot/modules/ -+docroot/modules/* -+!docroot/modules/custom/ -+!docroot/themes/ -+docroot/themes/* -+!docroot/themes/custom/ -+!docroot/profiles/ -+docroot/profiles/* -+!docroot/profiles/custom/ -+!docroot/sites/default/ -+docroot/sites/default/* -+!docroot/sites/default/settings.php -+!docroot/sites/default/services.yml -+!docroot/sites/default/example.settings.local.php -+!docroot/sites/default/example.services.local.yml -+!docroot/sites/default/default.settings.local.php -+!docroot/sites/default/default.services.local.yml -+!docroot/sites/default/includes - # Preserve default settings files to use them in Functional test. --!web/sites/default/default.settings.php --!web/sites/default/default.services.yml -+!docroot/sites/default/default.settings.php -+!docroot/sites/default/default.services.yml - # Allow Drupal Scaffold files. @see https://github.com/drupal-composer/drupal-scaffold#limitation --!web/.editorconfig --!web/.eslintignore --!web/.gitattributes --!web/.htaccess --!web/autoload.php --!web/index.php --!web/update.php -+!docroot/.editorconfig -+!docroot/.eslintignore -+!docroot/.gitattributes -+!docroot/.htaccess -+!docroot/autoload.php -+!docroot/index.php -+!docroot/update.php + # Drupal directories generated by Composer. +-web/core +-web/libraries +-web/modules/contrib +-web/profiles/contrib +-web/themes/contrib ++docroot/core ++docroot/libraries ++docroot/modules/contrib ++docroot/profiles/contrib ++docroot/themes/contrib + drush/Commands/contrib - # Ignore all recipes by default. Custom recipes should be added explicitly. - recipes/* -@@ -50,10 +50,10 @@ - # Ignore dependencies cache files. + # Drupal scaffold files copied into the webroot during the build. The README + # files are kept scaffolded because they materialize otherwise-empty extension + # directories that the Drupal core test bootstrap requires to exist. +-web/modules/README.txt +-web/profiles/README.txt +-web/sites/README.txt +-web/sites/development.services.yml +-web/themes/README.txt ++docroot/modules/README.txt ++docroot/profiles/README.txt ++docroot/sites/README.txt ++docroot/sites/development.services.yml ++docroot/themes/README.txt + + # Local settings overrides. +-web/sites/*/settings.local.php +-web/sites/*/services.local.yml ++docroot/sites/*/settings.local.php ++docroot/sites/*/services.local.yml + + # Content files and test artifacts. +-web/sites/*/files +-web/sites/simpletest ++docroot/sites/*/files ++docroot/sites/simpletest + + # Composer installs contrib recipes into 'recipes/', next to custom recipes, + # so recipes stay an allow list: un-ignore custom recipes explicitly. +@@ -41,10 +41,10 @@ + # Dependencies. /vendor /node_modules -web/themes/**/node_modules +docroot/themes/**/node_modules - # Assets. + # Theme build assets. -web/themes/**/build +docroot/themes/**/build + + # Caches, data, logs and temporary artifacts. .artifacts - .data - .logs diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore.artifact b/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore.artifact index c70dfe97a7..240f4553b0 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore.artifact +++ b/.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.gitignore.artifact @@ -1,38 +1,105 @@ # Replaces standard .gitignore when building a deployment artifact. +# +# Deny list of paths excluded from the deployment artifact. Everything not +# listed here is deployed to the hosting code repository. -# Ignore all files except those specifically allowed. -/* - -# Do not ignore required files. -!.env -!/config/ -!/drush/ -!/scripts/ -!/vendor/ -!composer.json - -# Do not ignore webroot (manage Drupal Scaffold files using the composer.json) -!docroot -# But ignore content files and test artifacts. -docroot/sites/default/files -docroot/sites/simpletest +# VCS, IDE and OS files. +/.git +/.idea +/.vscode +**/.DS_Store -# Ignore non-production Drupal Scaffold files. +# Non-production Drupal Scaffold files. docroot/sites/default/default.services.local.yml docroot/sites/default/default.settings.local.php docroot/sites/default/example.services.local.yml docroot/sites/default/example.settings.local.php -# Ignore custom theme asset sources. +# Local settings overrides. +docroot/sites/*/settings.local.php +docroot/sites/*/services.local.yml + +# Content files and test artifacts. +docroot/sites/*/files +docroot/sites/simpletest + +# Development, CI and AI configuration. +/.ahoy.yml +/.circleci +/.claude +/.dclintrc +/.docker +/.dockerignore +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.github +/.gitignore.artifact +/.gitleaks.toml +/.lagoon.yml +/.prettierignore +/.prettierrc.json +/.stylelintrc.js +/.twig-cs-fixer.php +/AGENTS.md +/CLAUDE.md +/docker-compose.yml +/renovate.json + +# Database cache key files written into the workspace by the CI workflow. +/db_cache_* + +# Documentation. +/docs +/CODE_OF_CONDUCT.md +/CONTRIBUTING.md +/LICENSE +/README.md +/SECURITY.md + +# Testing and linting configuration. +/tests +/behat.yml +/gherkinlint.json +/jest.config.js +/phpcs.xml +/phpstan.neon +/phpunit.xml +/postcss.config.js +/rector.php + +# Dependency manifests, lock files and packages not needed at runtime. +/composer.lock +/node_modules +/package.json +/package-lock.json +/patches +/patches.lock.json +/yarn.lock +docroot/themes/**/node_modules + +# Custom theme asset sources - only compiled assets in 'build' are deployed. docroot/themes/custom/star_wars/.eslintrc.json docroot/themes/custom/star_wars/fonts docroot/themes/custom/star_wars/images docroot/themes/custom/star_wars/js -docroot/themes/custom/star_wars/node_modules docroot/themes/custom/star_wars/package.json docroot/themes/custom/star_wars/postcss.config.js docroot/themes/custom/star_wars/scss docroot/themes/custom/star_wars/yarn.lock -# Do not ignore Acquia hooks. -!/hooks/ +# Caches, data, logs and temporary artifacts. +.artifacts +.data +.logs +.phpunit.cache +.twig-cs-fixer.cache + +# Credentials and local override files. +/auth.json +/docker-compose.override.yml +/.env.local +/.env.local.example +/.ahoy.local.yml +/.ahoy.local.example.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_lagoon/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/hosting_lagoon/.dockerignore deleted file mode 100644 index 8d015301aa..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_lagoon/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!.lagoon.env.* diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.dockerignore index 80bddf552b..5d1e4895ee 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.dockerignore @@ -1,32 +1,40 @@ -@@ -8,7 +8,7 @@ - * +@@ -12,28 +12,28 @@ + **/.DS_Store - # Do not ignore web. --!web -+!docroot - - # Do not ignore config. - !config -@@ -17,11 +17,11 @@ - !recipes - - # But still ignore Drupal directories generated by Composer. + # Drupal directories generated by Composer during the image build. -web/core +-web/libraries -web/modules/contrib --web/themes/contrib -web/profiles/contrib --web/libraries +-web/themes/contrib +docroot/core ++docroot/libraries +docroot/modules/contrib -+docroot/themes/contrib +docroot/profiles/contrib -+docroot/libraries - !drush - drush/contrib/ ++docroot/themes/contrib + drush/Commands/contrib + + # Local settings overrides. +-web/sites/*/settings.local.php +-web/sites/*/services.local.yml ++docroot/sites/*/settings.local.php ++docroot/sites/*/services.local.yml + + # Content files and test artifacts. +-web/sites/*/files +-web/sites/simpletest ++docroot/sites/*/files ++docroot/sites/simpletest + + # Dependencies are installed during the image build. + vendor + node_modules +-web/themes/**/node_modules ++docroot/themes/**/node_modules + + # Theme build assets are compiled during the image build. +-web/themes/**/build ++docroot/themes/**/build -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!hooks + # Caches, data, logs and temporary artifacts. + **/.artifacts diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore index 64fa0f86f0..219d7b539a 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore @@ -1,82 +1,57 @@ -@@ -5,38 +5,38 @@ - # To add an override file, explicitly un-ignore it below and add to the - # repository (useful for robots.txt and .htaccess file overrides). +@@ -5,29 +5,29 @@ + # listed here is tracked. --web/* --!web/sites/ --web/sites/* --!web/modules/ --web/modules/* --!web/modules/custom/ --!web/themes/ --web/themes/* --!web/themes/custom/ --!web/profiles/ --web/profiles/* --!web/profiles/custom/ --!web/sites/default/ --web/sites/default/* --!web/sites/default/settings.php --!web/sites/default/services.yml --!web/sites/default/example.settings.local.php --!web/sites/default/example.services.local.yml --!web/sites/default/default.settings.local.php --!web/sites/default/default.services.local.yml --!web/sites/default/includes -+docroot/* -+!docroot/sites/ -+docroot/sites/* -+!docroot/modules/ -+docroot/modules/* -+!docroot/modules/custom/ -+!docroot/themes/ -+docroot/themes/* -+!docroot/themes/custom/ -+!docroot/profiles/ -+docroot/profiles/* -+!docroot/profiles/custom/ -+!docroot/sites/default/ -+docroot/sites/default/* -+!docroot/sites/default/settings.php -+!docroot/sites/default/services.yml -+!docroot/sites/default/example.settings.local.php -+!docroot/sites/default/example.services.local.yml -+!docroot/sites/default/default.settings.local.php -+!docroot/sites/default/default.services.local.yml -+!docroot/sites/default/includes - # Preserve default settings files to use them in Functional test. --!web/sites/default/default.settings.php --!web/sites/default/default.services.yml -+!docroot/sites/default/default.settings.php -+!docroot/sites/default/default.services.yml - # Allow Drupal Scaffold files. @see https://github.com/drupal-composer/drupal-scaffold#limitation --!web/.editorconfig --!web/.eslintignore --!web/.gitattributes --!web/.htaccess --!web/autoload.php --!web/index.php --!web/update.php -+!docroot/.editorconfig -+!docroot/.eslintignore -+!docroot/.gitattributes -+!docroot/.htaccess -+!docroot/autoload.php -+!docroot/index.php -+!docroot/update.php + # Drupal directories generated by Composer. +-web/core +-web/libraries +-web/modules/contrib +-web/profiles/contrib +-web/themes/contrib ++docroot/core ++docroot/libraries ++docroot/modules/contrib ++docroot/profiles/contrib ++docroot/themes/contrib + drush/Commands/contrib - # Ignore all recipes by default. Custom recipes should be added explicitly. - recipes/* -@@ -50,10 +50,10 @@ - # Ignore dependencies cache files. + # Drupal scaffold files copied into the webroot during the build. The README + # files are kept scaffolded because they materialize otherwise-empty extension + # directories that the Drupal core test bootstrap requires to exist. +-web/modules/README.txt +-web/profiles/README.txt +-web/sites/README.txt +-web/sites/development.services.yml +-web/themes/README.txt ++docroot/modules/README.txt ++docroot/profiles/README.txt ++docroot/sites/README.txt ++docroot/sites/development.services.yml ++docroot/themes/README.txt + + # Local settings overrides. +-web/sites/*/settings.local.php +-web/sites/*/services.local.yml ++docroot/sites/*/settings.local.php ++docroot/sites/*/services.local.yml + + # Content files and test artifacts. +-web/sites/*/files +-web/sites/simpletest ++docroot/sites/*/files ++docroot/sites/simpletest + + # Composer installs contrib recipes into 'recipes/', next to custom recipes, + # so recipes stay an allow list: un-ignore custom recipes explicitly. +@@ -41,10 +41,10 @@ + # Dependencies. /vendor /node_modules -web/themes/**/node_modules +docroot/themes/**/node_modules - # Assets. + # Theme build assets. -web/themes/**/build +docroot/themes/**/build + + # Caches, data, logs and temporary artifacts. .artifacts - .data - .logs diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore.artifact b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore.artifact index c70dfe97a7..240f4553b0 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore.artifact +++ b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.gitignore.artifact @@ -1,38 +1,105 @@ # Replaces standard .gitignore when building a deployment artifact. +# +# Deny list of paths excluded from the deployment artifact. Everything not +# listed here is deployed to the hosting code repository. -# Ignore all files except those specifically allowed. -/* - -# Do not ignore required files. -!.env -!/config/ -!/drush/ -!/scripts/ -!/vendor/ -!composer.json - -# Do not ignore webroot (manage Drupal Scaffold files using the composer.json) -!docroot -# But ignore content files and test artifacts. -docroot/sites/default/files -docroot/sites/simpletest +# VCS, IDE and OS files. +/.git +/.idea +/.vscode +**/.DS_Store -# Ignore non-production Drupal Scaffold files. +# Non-production Drupal Scaffold files. docroot/sites/default/default.services.local.yml docroot/sites/default/default.settings.local.php docroot/sites/default/example.services.local.yml docroot/sites/default/example.settings.local.php -# Ignore custom theme asset sources. +# Local settings overrides. +docroot/sites/*/settings.local.php +docroot/sites/*/services.local.yml + +# Content files and test artifacts. +docroot/sites/*/files +docroot/sites/simpletest + +# Development, CI and AI configuration. +/.ahoy.yml +/.circleci +/.claude +/.dclintrc +/.docker +/.dockerignore +/.editorconfig +/.eslintignore +/.eslintrc.json +/.gitattributes +/.github +/.gitignore.artifact +/.gitleaks.toml +/.lagoon.yml +/.prettierignore +/.prettierrc.json +/.stylelintrc.js +/.twig-cs-fixer.php +/AGENTS.md +/CLAUDE.md +/docker-compose.yml +/renovate.json + +# Database cache key files written into the workspace by the CI workflow. +/db_cache_* + +# Documentation. +/docs +/CODE_OF_CONDUCT.md +/CONTRIBUTING.md +/LICENSE +/README.md +/SECURITY.md + +# Testing and linting configuration. +/tests +/behat.yml +/gherkinlint.json +/jest.config.js +/phpcs.xml +/phpstan.neon +/phpunit.xml +/postcss.config.js +/rector.php + +# Dependency manifests, lock files and packages not needed at runtime. +/composer.lock +/node_modules +/package.json +/package-lock.json +/patches +/patches.lock.json +/yarn.lock +docroot/themes/**/node_modules + +# Custom theme asset sources - only compiled assets in 'build' are deployed. docroot/themes/custom/star_wars/.eslintrc.json docroot/themes/custom/star_wars/fonts docroot/themes/custom/star_wars/images docroot/themes/custom/star_wars/js -docroot/themes/custom/star_wars/node_modules docroot/themes/custom/star_wars/package.json docroot/themes/custom/star_wars/postcss.config.js docroot/themes/custom/star_wars/scss docroot/themes/custom/star_wars/yarn.lock -# Do not ignore Acquia hooks. -!/hooks/ +# Caches, data, logs and temporary artifacts. +.artifacts +.data +.logs +.phpunit.cache +.twig-cs-fixer.cache + +# Credentials and local override files. +/auth.json +/docker-compose.override.yml +/.env.local +/.env.local.example +/.ahoy.local.yml +/.ahoy.local.example.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___lagoon/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___lagoon/.dockerignore deleted file mode 100644 index 8d015301aa..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___lagoon/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!.lagoon.env.* diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_disabled_lagoon/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/migration_disabled_lagoon/.dockerignore deleted file mode 100644 index 8d015301aa..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_disabled_lagoon/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!.lagoon.env.* diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.dockerignore deleted file mode 100644 index 8d015301aa..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!.lagoon.env.* diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.gitignore deleted file mode 100644 index ae6f21e2a7..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -21,6 +21,7 @@ - web/sites/default/* - !web/sites/default/settings.php - !web/sites/default/services.yml -+!web/sites/default/settings.migration.php - !web/sites/default/example.settings.local.php - !web/sites/default/example.services.local.yml - !web/sites/default/default.settings.local.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/.dockerignore deleted file mode 100644 index 8d015301aa..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -@@ -55,3 +55,5 @@ - !scripts - !tests - !yarn.lock -+ -+!.lagoon.env.* diff --git a/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/.dockerignore deleted file mode 100644 index fe43cd4cce..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/.dockerignore +++ /dev/null @@ -1,12 +0,0 @@ -@@ -47,11 +47,8 @@ - !package.json - !patches - !patches.lock.json --!phpcs.xml --!phpstan.neon - !phpunit.xml - !postcss.config.js --!rector.php - !scripts - !tests - !yarn.lock diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.dockerignore index fe43cd4cce..e0fa230b82 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.dockerignore @@ -1,12 +1,10 @@ -@@ -47,11 +47,8 @@ - !package.json - !patches - !patches.lock.json --!phpcs.xml --!phpstan.neon - !phpunit.xml - !postcss.config.js --!rector.php - !scripts - !tests - !yarn.lock +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.dockerignore index 99b0451438..978d823173 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.dockerignore @@ -1,19 +1,8 @@ -@@ -38,10 +38,8 @@ - !.stylelintrc.js - !.twig-cs-fixer.php - !auth.json --!behat.yml - !composer.json - !composer.lock --!gherkinlint.json - !jest.config.js - !package-lock.json - !package.json -@@ -49,7 +47,6 @@ - !patches.lock.json - !phpcs.xml - !phpstan.neon --!phpunit.xml - !postcss.config.js - !rector.php - !scripts +@@ -39,7 +39,6 @@ + **/.artifacts + **/.data + **/.logs +-**/.phpunit.cache + **/.twig-cs-fixer.cache + + # Database cache key files written into the workspace by the CI workflow. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.gitignore index ef9ff6a97d..2dd6018681 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/.gitignore @@ -1,8 +1,8 @@ -@@ -57,7 +57,6 @@ +@@ -50,7 +50,6 @@ .artifacts .data .logs -.phpunit.cache .twig-cs-fixer.cache - # Ignore local override files. + # Local override files. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.dockerignore index 99b0451438..24012fd267 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.dockerignore @@ -1,19 +1,12 @@ -@@ -38,10 +38,8 @@ - !.stylelintrc.js - !.twig-cs-fixer.php - !auth.json --!behat.yml - !composer.json - !composer.lock --!gherkinlint.json - !jest.config.js - !package-lock.json - !package.json -@@ -49,7 +47,6 @@ - !patches.lock.json - !phpcs.xml - !phpstan.neon --!phpunit.xml - !postcss.config.js - !rector.php - !scripts +@@ -39,11 +39,7 @@ + **/.artifacts + **/.data + **/.logs +-**/.phpunit.cache + **/.twig-cs-fixer.cache +- +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* + + # Local override files. + docker-compose.override.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.gitignore index ef9ff6a97d..2dd6018681 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.gitignore @@ -1,8 +1,8 @@ -@@ -57,7 +57,6 @@ +@@ -50,7 +50,6 @@ .artifacts .data .logs -.phpunit.cache .twig-cs-fixer.cache - # Ignore local override files. + # Local override files. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.dockerignore deleted file mode 100644 index 963ba103e3..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat/.dockerignore +++ /dev/null @@ -1,11 +0,0 @@ -@@ -38,10 +38,8 @@ - !.stylelintrc.js - !.twig-cs-fixer.php - !auth.json --!behat.yml - !composer.json - !composer.lock --!gherkinlint.json - !jest.config.js - !package-lock.json - !package.json diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.dockerignore index 963ba103e3..e0fa230b82 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.dockerignore @@ -1,11 +1,10 @@ -@@ -38,10 +38,8 @@ - !.stylelintrc.js - !.twig-cs-fixer.php - !auth.json --!behat.yml - !composer.json - !composer.lock --!gherkinlint.json - !jest.config.js - !package-lock.json - !package.json +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/.dockerignore deleted file mode 100644 index 37601ffe34..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/.dockerignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -47,7 +47,6 @@ - !package.json - !patches - !patches.lock.json --!phpcs.xml - !phpstan.neon - !phpunit.xml - !postcss.config.js diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.dockerignore index 37601ffe34..e0fa230b82 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.dockerignore @@ -1,8 +1,10 @@ -@@ -47,7 +47,6 @@ - !package.json - !patches - !patches.lock.json --!phpcs.xml - !phpstan.neon - !phpunit.xml - !postcss.config.js +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/.dockerignore deleted file mode 100644 index 0472a510dc..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/.dockerignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -48,7 +48,6 @@ - !patches - !patches.lock.json - !phpcs.xml --!phpstan.neon - !phpunit.xml - !postcss.config.js - !rector.php diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.dockerignore index 0472a510dc..e0fa230b82 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.dockerignore @@ -1,8 +1,10 @@ -@@ -48,7 +48,6 @@ - !patches - !patches.lock.json - !phpcs.xml --!phpstan.neon - !phpunit.xml - !postcss.config.js - !rector.php +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.dockerignore index 5b9fb530b9..978d823173 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.dockerignore @@ -1,8 +1,8 @@ -@@ -49,7 +49,6 @@ - !patches.lock.json - !phpcs.xml - !phpstan.neon --!phpunit.xml - !postcss.config.js - !rector.php - !scripts +@@ -39,7 +39,6 @@ + **/.artifacts + **/.data + **/.logs +-**/.phpunit.cache + **/.twig-cs-fixer.cache + + # Database cache key files written into the workspace by the CI workflow. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.gitignore index ef9ff6a97d..2dd6018681 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/.gitignore @@ -1,8 +1,8 @@ -@@ -57,7 +57,6 @@ +@@ -50,7 +50,6 @@ .artifacts .data .logs -.phpunit.cache .twig-cs-fixer.cache - # Ignore local override files. + # Local override files. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.dockerignore index 5b9fb530b9..24012fd267 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.dockerignore @@ -1,8 +1,12 @@ -@@ -49,7 +49,6 @@ - !patches.lock.json - !phpcs.xml - !phpstan.neon --!phpunit.xml - !postcss.config.js - !rector.php - !scripts +@@ -39,11 +39,7 @@ + **/.artifacts + **/.data + **/.logs +-**/.phpunit.cache + **/.twig-cs-fixer.cache +- +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* + + # Local override files. + docker-compose.override.yml diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.gitignore index ef9ff6a97d..2dd6018681 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.gitignore @@ -1,8 +1,8 @@ -@@ -57,7 +57,6 @@ +@@ -50,7 +50,6 @@ .artifacts .data .logs -.phpunit.cache .twig-cs-fixer.cache - # Ignore local override files. + # Local override files. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/.dockerignore deleted file mode 100644 index f9407afc22..0000000000 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector/.dockerignore +++ /dev/null @@ -1,8 +0,0 @@ -@@ -51,7 +51,6 @@ - !phpstan.neon - !phpunit.xml - !postcss.config.js --!rector.php - !scripts - !tests - !yarn.lock diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.dockerignore index f9407afc22..e0fa230b82 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.dockerignore @@ -1,8 +1,10 @@ -@@ -51,7 +51,6 @@ - !phpstan.neon - !phpunit.xml - !postcss.config.js --!rector.php - !scripts - !tests - !yarn.lock +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.dockerignore new file mode 100644 index 0000000000..e0fa230b82 --- /dev/null +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.dockerignore @@ -0,0 +1,10 @@ +@@ -42,9 +42,6 @@ + **/.phpunit.cache + **/.twig-cs-fixer.cache + +-# Database cache key files written into the workspace by the CI workflow. +-db_cache_* +- + # Local override files. + docker-compose.override.yml + .env.local diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_none/.dockerignore b/.vortex/installer/tests/Fixtures/handler_process/tools_none/.dockerignore index a0d9f1138e..978d823173 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_none/.dockerignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_none/.dockerignore @@ -1,21 +1,8 @@ -@@ -38,20 +38,14 @@ - !.stylelintrc.js - !.twig-cs-fixer.php - !auth.json --!behat.yml - !composer.json - !composer.lock --!gherkinlint.json - !jest.config.js - !package-lock.json - !package.json - !patches - !patches.lock.json --!phpcs.xml --!phpstan.neon --!phpunit.xml - !postcss.config.js --!rector.php - !scripts - !tests - !yarn.lock +@@ -39,7 +39,6 @@ + **/.artifacts + **/.data + **/.logs +-**/.phpunit.cache + **/.twig-cs-fixer.cache + + # Database cache key files written into the workspace by the CI workflow. diff --git a/.vortex/installer/tests/Fixtures/handler_process/tools_none/.gitignore b/.vortex/installer/tests/Fixtures/handler_process/tools_none/.gitignore index ef9ff6a97d..2dd6018681 100644 --- a/.vortex/installer/tests/Fixtures/handler_process/tools_none/.gitignore +++ b/.vortex/installer/tests/Fixtures/handler_process/tools_none/.gitignore @@ -1,8 +1,8 @@ -@@ -57,7 +57,6 @@ +@@ -50,7 +50,6 @@ .artifacts .data .logs -.phpunit.cache .twig-cs-fixer.cache - # Ignore local override files. + # Local override files. diff --git a/.vortex/installer/tests/Functional/Handlers/MigrationHandlerProcessTest.php b/.vortex/installer/tests/Functional/Handlers/MigrationHandlerProcessTest.php index 1477785d69..fe2045e4b0 100644 --- a/.vortex/installer/tests/Functional/Handlers/MigrationHandlerProcessTest.php +++ b/.vortex/installer/tests/Functional/Handlers/MigrationHandlerProcessTest.php @@ -26,7 +26,6 @@ public static function dataProviderHandlerProcess(): \Iterator { $test->assertFileContainsString(static::$sut . '/composer.json', 'drupal/migrate_tools'); // Token-controlled content preserved in files. - $test->assertFileContainsString(static::$sut . '/.gitignore', 'settings.migration.php'); $test->assertFileContainsString(static::$sut . '/docker-compose.yml', 'database2'); $test->assertFileContainsString(static::$sut . '/.ahoy.yml', 'fetch-db2'); $test->assertFileContainsString(static::$sut . '/.env', 'VORTEX_FETCH_DB2_SOURCE'); @@ -62,7 +61,6 @@ public static function dataProviderHandlerProcess(): \Iterator { $test->assertFileNotContainsString(static::$sut . '/composer.json', 'drupal/migrate_tools'); // Token-controlled content removed from files. - $test->assertFileNotContainsString(static::$sut . '/.gitignore', 'settings.migration.php'); $test->assertFileNotContainsString(static::$sut . '/docker-compose.yml', 'database2'); $test->assertFileNotContainsString(static::$sut . '/.ahoy.yml', 'fetch-db2'); $test->assertFileNotContainsString(static::$sut . '/.env', 'VORTEX_FETCH_DB2_SOURCE'); diff --git a/.vortex/tests/phpunit/Traits/SutTrait.php b/.vortex/tests/phpunit/Traits/SutTrait.php index 6bfc7ed409..1a8c3ff78c 100644 --- a/.vortex/tests/phpunit/Traits/SutTrait.php +++ b/.vortex/tests/phpunit/Traits/SutTrait.php @@ -95,8 +95,9 @@ protected function prepareSut(string $webroot = 'web'): void { * install step. This method copies the in-tree tooling into the SUT at * '.tooling-source' (deliberately outside '.vortex/' so the SUT keeps no * '.vortex/' directory at runtime), re-injects the path repository into - * composer.json, re-injects the COPY into cli.dockerfile, and whitelists - * the path in .dockerignore. + * composer.json, re-injects the COPY into cli.dockerfile, and adjusts + * '.dockerignore' and '.gitignore.artifact' so the tooling source enters + * the build context but never the deployment artifact. * * @todo Remove once drevops/vortex-tooling is published to packagist. */ @@ -142,6 +143,11 @@ protected function injectTestingTooling(): void { file_put_contents($dockerignore_path, file_get_contents($dockerignore_path) . "\n# Test-only: allow tooling source in build context.\n!.tooling-source\n.tooling-source/tests\n.tooling-source/playground\n.tooling-source/node_modules\n"); } + $gitignore_artifact_path = $sut_root . DIRECTORY_SEPARATOR . '.gitignore.artifact'; + if (file_exists($gitignore_artifact_path)) { + file_put_contents($gitignore_artifact_path, file_get_contents($gitignore_artifact_path) . "\n# Test-only: exclude tooling source from the deployment artifact.\n/.tooling-source\n"); + } + $this->reinstallToolingToVendor(); }