Skip to content

Conversation

@AlexSkrypnyk
Copy link
Member

@AlexSkrypnyk AlexSkrypnyk commented Aug 14, 2025

Closes #1907

Changed:

  • Renamed default.settings.local.php to example.settings.local.php and default.services.local to default.services.local`.
  • Updated the contents of both example.settings.local.php and default.services.local` with the contents of the Drupal core scaffold files.
  • Removed some enforced settings used for local environment that present in example.settings.local.php. This clearly separates "local" overrides from other settings.

Summary by CodeRabbit

  • Documentation

    • Updated Drupal setup guidance and in-file comments to reference the new local example configuration files.
  • Tests

    • Updated test helpers and assertions to expect and operate on the example local configuration files; test behavior unchanged.
  • Chores

    • Adjusted ignore/unignore rules to expose the example local configuration files in the repository.

@coderabbitai
Copy link

coderabbitai bot commented Aug 14, 2025

Walkthrough

Replaced references to Drupal local override files from “default..local” to “example..local” across ignore rules, docs, tests, and new example/local files; removed the old default.settings.local.* file and moved local service/settings content into new example.*.local files.

Changes

Cohort / File(s) Summary
Ignore rules
/.gitignore, /.gitignore.artifact
Added unignore/ignore entries for web/sites/default/example.settings.local.php and web/sites/default/example.services.local.yml.
Docs: Drupal settings
.vortex/docs/content/drupal/settings.mdx
Updated copy instructions, imports, and text to reference example.settings.local.php and example.services.local.yml.
Tests: bash helpers & deployment
.vortex/tests/bats/_helper.bash, .vortex/tests/bats/_helper.deployment.bash
Switched file presence/absence assertions and copy logic from default.*.local to example.*.local.
Tests: PHPUnit trait
.vortex/tests/phpunit/Traits/AssertFilesTrait.php, tests/phpunit/Drupal/EnvironmentSettingsTest.php
Updated assertions, copy/remove operations, and removed two environment-setting assertions; references moved from default.*.local to example.*.local.
Drupal scaffold: settings & services
web/sites/default/default.settings.local.php (deleted), web/sites/default/default.services.local.yml (trimmed), web/sites/default/example.settings.local.php, web/sites/default/example.services.local.yml, web/sites/default/settings.php, web/sites/default/includes/modules/settings.system.php
Added new example.*.local files with the former local overrides moved there; deleted the old default.settings.local.php; updated comments and CI/LOCAL permission/error handling logic in settings.system.php and settings.php comments adjusted to reference example files.

Sequence Diagram(s)

(omitted — changes are renames and file content moves, no new control-flow to diagram)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Assessment against linked issues

Objective Addressed Explanation
Rename default.services.local to example.services.local to better show the intent (#1907)

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
Replace references of default.settings.local.phpexample.settings.local.php (.vortex/tests/bats/_helper.bash, .vortex/tests/phpunit/Traits/AssertFilesTrait.php, .vortex/docs/content/drupal/settings.mdx) Issue #1907 specifically requested renaming services file; changing settings filename is not specified.
Delete web/sites/default/default.settings.local.php and add web/sites/default/example.settings.local.php (web/sites/default/default.settings.local.php, web/sites/default/example.settings.local.php) Issue focused on services file rename; moving/removing the default.settings.local.php and introducing example.settings.local.php extends beyond the single-file rename objective.
Modify LOCAL environment behavior for permissions and error display (web/sites/default/includes/modules/settings.system.php) Issue #1907 did not request changes to environment logic; changing LOCAL vs CI checks is unrelated to the services filename rename.

Possibly related PRs

Suggested labels

PR: Needs review

Poem

I twitch my whiskers, nudge the file,
From “default” to “example” — tidy and agile.
Tests hop after, docs sing along,
A rabbit's small rename, neat and strong. 🐇✨

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 phpcs (3.7.2)
.vortex/tests/phpunit/Traits/AssertFilesTrait.php

ERROR: Referenced sniff "Drupal" does not exist

Run "phpcs --help" for usage information

web/sites/default/example.settings.local.php

ERROR: Referenced sniff "Drupal" does not exist

Run "phpcs --help" for usage information

web/sites/default/includes/modules/settings.system.php

ERROR: Referenced sniff "Drupal" does not exist

Run "phpcs --help" for usage information

  • 1 others
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/1907-Rename-default.services.local

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@AlexSkrypnyk AlexSkrypnyk self-assigned this Aug 14, 2025
@AlexSkrypnyk AlexSkrypnyk added the AUTOMERGE Pull request has been approved and set to automerge label Aug 14, 2025
@github-actions github-actions bot temporarily deployed to commit August 14, 2025 07:02 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8d39bc6 and 43dd81a.

⛔ Files ignored due to path filters (10)
  • .vortex/installer/tests/Fixtures/install/_baseline/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/settings.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/settings.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (6)
  • .gitignore (1 hunks)
  • .vortex/docs/content/drupal/settings.mdx (1 hunks)
  • .vortex/tests/bats/_helper.bash (3 hunks)
  • .vortex/tests/bats/_helper.deployment.bash (1 hunks)
  • .vortex/tests/phpunit/Traits/AssertFilesTrait.php (3 hunks)
  • web/sites/default/settings.php (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T12:02:24.652Z
Learnt from: AlexSkrypnyk
PR: drevops/vortex#1896
File: .vortex/tests/bats/unit/download-db-lagoon.bats:24-25
Timestamp: 2025-08-08T12:02:24.652Z
Learning: In .vortex/tests/bats/unit Bats tests using ../_helper.bash (run_steps), prefixing a STEPS entry with "- " denotes a negative assertion (the substring must NOT appear in output). Unprefixed entries are positive assertions. Example: "- Database dump refresh requested. Will create a new dump." asserts absence; "Database dump refresh requested. Will create a new dump." asserts presence.

Applied to files:

  • .vortex/tests/bats/_helper.deployment.bash
  • .vortex/tests/bats/_helper.bash
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build (0)
  • GitHub Check: build (1)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (12)
web/sites/default/settings.php (3)

7-9: Docs update to example. local overrides is correct*

The guidance now points to example.settings.local.php and example.services.local.yml. No behavioral changes; aligns with PR intent.


174-176: Local overrides section consistently references example. files*

Comment copy instructions match the new naming; runtime still loads settings.local.php as before. All good.


1-186: Sanity Check Passed: No deprecated default.*.local references

  • No instances of “default.settings.local.php”, “default.services.local.yml”, or “default.services.local” remain in the repo.
  • Expected example override files are present:
    • web/sites/default/example.settings.local.php
    • web/sites/default/example.services.local.yml
.gitignore (1)

26-27: Unignore entries switched to example. — matches new convention*

example.settings.local.php and example.services.local.yml will be tracked. Scaffold defaults remain whitelisted for functional tests.

.vortex/docs/content/drupal/settings.mdx (3)

254-256: Docs: copy instructions updated to example. — accurate and clear*

The prose reflects the new example.* filenames and keeps the local override behavior unchanged.


258-265: Docs: example.settings.local.php import and details panel updated

Raw import path and the accordion summary are aligned with the rename.


268-275: Docs: example.services.local.yml import and details panel updated

Consistent with the switch to example.* naming.

.vortex/tests/bats/_helper.bash (3)

271-272: Negative assertions updated to the new example. filenames*

Ensures example.* local override templates are absent in the “not present” checks. Matches the new convention.


521-526: Presence and permissions assertions updated to example. — correct*

Tests now expect example.settings.local.php and example.services.local.yml to be present with 644 perms. Aligned with .gitignore changes.


1171-1175: create_development_settings copies from example. — workflow remains intact*

Asserts absence of target files, then copies from example.* templates to settings.local.php/services.local.yml. This mirrors prior behavior with the new names.

.vortex/tests/bats/_helper.deployment.bash (1)

70-72: Deployment artifact check excludes example. local templates*

Ensures example.* files are not shipped in deployment artifacts. This exclusion is correct.

.vortex/tests/phpunit/Traits/AssertFilesTrait.php (1)

55-56: Renamed example files assertion is correct

Asserting absence of example.settings.local.php and example.services.local.yml in the “removed” context aligns with the rename objective and test intent.

Comment on lines +274 to 276
Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Presence checks updated to example. — looks good; verify repo-wide consistency*

These presence assertions match the new convention and are consistent with Drupal’s typical example naming.

Run this script to ensure no references to the old default.* names linger and that the new example files exist in the expected location:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "[1/2] Searching for lingering references to default.*.local files..."
rg -n --hidden -S $'default\\.settings\\.local\\.php|default\\.services\\.local\\.yml|default\\.services\\.local\\b' || echo "No lingering references found."

echo "[2/2] Verifying example files exist at expected paths..."
test -f web/sites/default/example.settings.local.php && echo "OK: web/sites/default/example.settings.local.php present" || { echo "Missing: web/sites/default/example.settings.local.php"; exit 1; }
test -f web/sites/default/example.services.local.yml && echo "OK: web/sites/default/example.services.local.yml present" || { echo "Missing: web/sites/default/example.services.local.yml"; exit 1; }

Length of output: 890


Update .gitignore.artifact to use the new example. files*

The search showed lingering references to the old default.*.local filenames in your .gitignore.artifact. Please update these to match the new convention:

  • .gitignore.artifact (around lines 20–21)
    Replace:
    web/sites/default/default.services.local.yml
    web/sites/default/default.settings.local.php
    With:
    web/sites/default/example.services.local.yml
    web/sites/default/example.settings.local.php
🤖 Prompt for AI Agents
In .gitignore.artifact around lines 20–21, the entries still reference the old
default.*.local filenames; update those two lines to replace
"web/sites/default/default.services.local.yml" and
"web/sites/default/default.settings.local.php" with
"web/sites/default/example.services.local.yml" and
"web/sites/default/example.settings.local.php" respectively, save and commit the
change so the gitignore matches the new example.* convention used elsewhere.

Comment on lines +324 to 329
Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');

File::copy($webroot . '/sites/default/default.settings.local.php', $webroot . '/sites/default/settings.local.php');
File::copy($webroot . '/sites/default/default.services.local.yml', $webroot . '/sites/default/services.local.yml');
File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Make setup idempotent by removing existing dev overrides before copying

If settings.local.php or services.local.yml already exist, some copy implementations may fail or retain stale content. Safe to pre-remove.

Apply within this hunk:

 Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
 Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');

+// Ensure idempotent setup: remove any existing dev overrides.
+File::remove([
+  $webroot . '/sites/default/settings.local.php',
+  $webroot . '/sites/default/services.local.yml',
+]);
+
 File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
 File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');
File::copy($webroot . '/sites/default/default.settings.local.php', $webroot . '/sites/default/settings.local.php');
File::copy($webroot . '/sites/default/default.services.local.yml', $webroot . '/sites/default/services.local.yml');
File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');
Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');
// Ensure idempotent setup: remove any existing dev overrides.
File::remove([
$webroot . '/sites/default/settings.local.php',
$webroot . '/sites/default/services.local.yml',
]);
File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');
🤖 Prompt for AI Agents
In .vortex/tests/phpunit/Traits/AssertFilesTrait.php around lines 324 to 329,
make the setup idempotent by deleting any existing dev override files before
copying the example overrides: check for and remove existing settings.local.php
and services.local.yml (e.g., File::delete or unlink) prior to the File::copy
calls so the copy never fails or leaves stale content.

Comment on lines +336 to 338
$webroot . '/sites/default/example.settings.local.php',
$webroot . '/sites/default/example.services.local.yml',
]);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Bug: removing the wrong files in cleanup; should remove dev overrides, not example files

removeDevelopmentDrupalSettings should clean up the generated development files (settings.local.php, services.local.yml), not delete the example templates.

Fix:

-      $webroot . '/sites/default/example.settings.local.php',
-      $webroot . '/sites/default/example.services.local.yml',
+      $webroot . '/sites/default/settings.local.php',
+      $webroot . '/sites/default/services.local.yml',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
$webroot . '/sites/default/example.settings.local.php',
$webroot . '/sites/default/example.services.local.yml',
]);
$webroot . '/sites/default/settings.local.php',
$webroot . '/sites/default/services.local.yml',
]);
🤖 Prompt for AI Agents
In .vortex/tests/phpunit/Traits/AssertFilesTrait.php around lines 336-338 the
cleanup currently removes the example template files
(example.settings.local.php, example.services.local.yml) but should remove the
generated development overrides; change the file paths in the removal list to
the actual dev files ($webroot . '/sites/default/settings.local.php' and
$webroot . '/sites/default/services.local.yml') and ensure the code checks file
existence before unlinking so only the real override files are deleted.

@codecov
Copy link

codecov bot commented Aug 14, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.69%. Comparing base (8d39bc6) to head (bb587b1).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1910      +/-   ##
===========================================
+ Coverage    78.67%   78.69%   +0.01%     
===========================================
  Files           85       85              
  Lines         5023     5027       +4     
  Branches        35       35              
===========================================
+ Hits          3952     3956       +4     
  Misses        1071     1071              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/1907-Rename-default.services.local branch from 43dd81a to 5859cb6 Compare August 14, 2025 07:12
@github-actions github-actions bot temporarily deployed to commit August 14, 2025 07:15 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🔭 Outside diff range comments (1)
web/sites/default/settings.php (1)

174-179: Optional doc hardening: explicitly warn against committing/shipping local overrides.

A brief caution here will help prevent accidental inclusion of dev configs.

 // Copy `example.settings.local.php` and `example.services.local.yml` to
 // `settings.local.php` and `services.local.yml` respectively to enable local
 // overrides.
+//
+// IMPORTANT: Do not commit `settings.local.php` or `services.local.yml` to VCS
+// and do not ship them in production artifacts.
♻️ Duplicate comments (2)
.vortex/tests/phpunit/Traits/AssertFilesTrait.php (2)

324-329: Make setup idempotent: remove existing dev overrides before copying

If this method is called multiple times in the same test run, the copy may preserve stale content or fail. Remove existing dev overrides first.

-    Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
-    Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');
-
-    File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
-    File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');
+    Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
+    Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');
+
+    // Ensure idempotent setup by removing any existing dev overrides.
+    File::remove([
+      $webroot . '/sites/default/settings.local.php',
+      $webroot . '/sites/default/services.local.yml',
+    ]);
+
+    File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
+    File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');

336-338: Bug: cleanup removes example templates instead of dev overrides

removeDevelopmentDrupalSettings should delete the generated dev overrides, not the example templates that serve as sources.

-    File::remove([
-      $webroot . '/sites/default/example.settings.local.php',
-      $webroot . '/sites/default/example.services.local.yml',
-    ]);
+    File::remove([
+      $webroot . '/sites/default/settings.local.php',
+      $webroot . '/sites/default/services.local.yml',
+    ]);
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 43dd81a and 5859cb6.

⛔ Files ignored due to path filters (14)
  • .vortex/installer/tests/Fixtures/install/_baseline/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/settings.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_all_circleci/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_all_gha/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_artifact/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/settings.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (7)
  • .gitignore (1 hunks)
  • .gitignore.artifact (1 hunks)
  • .vortex/docs/content/drupal/settings.mdx (1 hunks)
  • .vortex/tests/bats/_helper.bash (3 hunks)
  • .vortex/tests/bats/_helper.deployment.bash (1 hunks)
  • .vortex/tests/phpunit/Traits/AssertFilesTrait.php (3 hunks)
  • web/sites/default/settings.php (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T12:02:24.652Z
Learnt from: AlexSkrypnyk
PR: drevops/vortex#1896
File: .vortex/tests/bats/unit/download-db-lagoon.bats:24-25
Timestamp: 2025-08-08T12:02:24.652Z
Learning: In .vortex/tests/bats/unit Bats tests using ../_helper.bash (run_steps), prefixing a STEPS entry with "- " denotes a negative assertion (the substring must NOT appear in output). Unprefixed entries are positive assertions. Example: "- Database dump refresh requested. Will create a new dump." asserts absence; "Database dump refresh requested. Will create a new dump." asserts presence.

Applied to files:

  • .vortex/tests/bats/_helper.bash
  • .vortex/tests/bats/_helper.deployment.bash
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (8)
web/sites/default/settings.php (1)

7-9: LGTM: comment aligns with rename to example.*.local.

Clear guidance and consistent terminology.

.gitignore (1)

26-27: LGTM: unignored example.*.local sample files are aligned with new convention.

The top-level ignore rules continue to keep actual local overrides ignored while allowing the example templates to be tracked.

.vortex/docs/content/drupal/settings.mdx (1)

254-256: Verification Complete: No stale references & example files present

  • No occurrences of default.(settings|services).local.(php|yml) found.
  • web/sites/default/example.settings.local.php and web/sites/default/example.services.local.yml both exist.

All set—docs updates are consistent and ready to merge.

.vortex/tests/bats/_helper.bash (3)

521-526: Presence and mode assertions updated to example. — LGTM*

The assertions for existence and 644 mode of example.* files correctly reflect the rename.


1171-1175: Copy-from-example workflow matches new convention

The copy operations now correctly source from example.* to create dev overrides.


271-273: All default. references removed and example files confirmed*
Verified via search: no lingering default.settings.local.php/default.services.local.yml or hostname references, and example.settings.local.php & example.services.local.yml exist under web/sites/default/.

.vortex/tests/phpunit/Traits/AssertFilesTrait.php (2)

55-57: Absence checks updated to example. — LGTM*

These now correctly reflect the renamed example.* template files.


274-276: Presence checks updated to example. — LGTM*

These assertions match the new convention and expected locations.

…and updated from Drupal core scaffold.
@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/1907-Rename-default.services.local branch from 5859cb6 to bb587b1 Compare August 14, 2025 08:53
@github-actions github-actions bot temporarily deployed to commit August 14, 2025 08:55 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

♻️ Duplicate comments (4)
.gitignore.artifact (1)

19-23: Also ignore the actual active overrides in artifacts (repeat of earlier feedback)

To prevent accidental inclusion of developer-local overrides in deployment artifacts, also ignore settings.local.php and services.local.yml in this file.

Apply:

 # Ignore non-production Drupal Scaffold files.
 web/sites/default/example.services.local.yml
 web/sites/default/example.settings.local.php
+web/sites/default/settings.local.php
+web/sites/default/services.local.yml
 web/sites/default/default.services.local.yml
 web/sites/default/default.settings.local.php
.vortex/tests/bats/_helper.deployment.bash (1)

70-73: Harden artifact checks: also assert real local overrides are absent

Artifacts must never include developer-local overrides. Add assertions for settings.local.php and services.local.yml alongside the example/legacy checks.

   assert_file_exists "${webroot}/sites/default/services.yml"
   assert_file_not_exists "${webroot}/sites/default/example.settings.local.php"
   assert_file_not_exists "${webroot}/sites/default/example.services.local.yml"
+  # Actual local overrides must not be present.
+  assert_file_not_exists "${webroot}/sites/default/settings.local.php"
+  assert_file_not_exists "${webroot}/sites/default/services.local.yml"
   assert_file_not_exists "${webroot}/sites/default/default.settings.local.php"
   assert_file_not_exists "${webroot}/sites/default/default.services.local.yml"
.vortex/tests/phpunit/Traits/AssertFilesTrait.php (2)

324-329: Make setup idempotent: remove existing dev overrides before copying

Prevent stale content or copy failures by removing existing active overrides first.

   Assert::assertFileExists($webroot . '/sites/default/example.settings.local.php');
   Assert::assertFileExists($webroot . '/sites/default/example.services.local.yml');

+  // Ensure idempotent setup: remove any existing dev overrides.
+  File::remove([
+    $webroot . '/sites/default/settings.local.php',
+    $webroot . '/sites/default/services.local.yml',
+  ]);
+
   File::copy($webroot . '/sites/default/example.settings.local.php', $webroot . '/sites/default/settings.local.php');
   File::copy($webroot . '/sites/default/example.services.local.yml', $webroot . '/sites/default/services.local.yml');

334-339: Bug: removing the wrong files; clean up dev overrides, not example templates

removeDevelopmentDrupalSettings() should delete settings.local.php and services.local.yml. Deleting example templates is incorrect.

   protected function removeDevelopmentDrupalSettings(string $webroot = 'web'): void {
     File::remove([
-      $webroot . '/sites/default/example.settings.local.php',
-      $webroot . '/sites/default/example.services.local.yml',
+      $webroot . '/sites/default/settings.local.php',
+      $webroot . '/sites/default/services.local.yml',
     ]);
   }
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these settings in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 5859cb6 and bb587b1.

⛔ Files ignored due to path filters (29)
  • .vortex/installer/tests/Fixtures/install/_baseline/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/default.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/default.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/includes/modules/settings.system.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/_baseline/web/sites/default/settings.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/ciprovider_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_all_circleci/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_all_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_all_gha/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_artifact/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deploy_type_none_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/deps_updates_provider_ci_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/.gitignore.artifact is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/default.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/default.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/includes/modules/settings.system.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/docroot/sites/default/settings.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.services.local.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_acquia/web/sites/default/-example.settings.local.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/hosting_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/provision_database_lagoon/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/install/timezone_circleci/tests/phpunit/Drupal/EnvironmentSettingsTest.php is excluded by !.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (13)
  • .gitignore (1 hunks)
  • .gitignore.artifact (1 hunks)
  • .vortex/docs/content/drupal/settings.mdx (1 hunks)
  • .vortex/tests/bats/_helper.bash (3 hunks)
  • .vortex/tests/bats/_helper.deployment.bash (1 hunks)
  • .vortex/tests/phpunit/Traits/AssertFilesTrait.php (3 hunks)
  • tests/phpunit/Drupal/EnvironmentSettingsTest.php (0 hunks)
  • web/sites/default/default.services.local.yml (0 hunks)
  • web/sites/default/default.settings.local.php (0 hunks)
  • web/sites/default/example.services.local.yml (1 hunks)
  • web/sites/default/example.settings.local.php (1 hunks)
  • web/sites/default/includes/modules/settings.system.php (1 hunks)
  • web/sites/default/settings.php (2 hunks)
💤 Files with no reviewable changes (3)
  • tests/phpunit/Drupal/EnvironmentSettingsTest.php
  • web/sites/default/default.services.local.yml
  • web/sites/default/default.settings.local.php
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-08T12:02:24.652Z
Learnt from: AlexSkrypnyk
PR: drevops/vortex#1896
File: .vortex/tests/bats/unit/download-db-lagoon.bats:24-25
Timestamp: 2025-08-08T12:02:24.652Z
Learning: In .vortex/tests/bats/unit Bats tests using ../_helper.bash (run_steps), prefixing a STEPS entry with "- " denotes a negative assertion (the substring must NOT appear in output). Unprefixed entries are positive assertions. Example: "- Database dump refresh requested. Will create a new dump." asserts absence; "Database dump refresh requested. Will create a new dump." asserts presence.

Applied to files:

  • .vortex/tests/bats/_helper.deployment.bash
  • .vortex/tests/bats/_helper.bash
🪛 LanguageTool
.vortex/docs/content/drupal/settings.mdx

[grammar] ~254-~254: There might be a mistake here.
Context: ...al.phpandexample.services.local.ymltosettings.local.phpandservices.lo...

(QB_NEW_EN)


[grammar] ~255-~255: There might be a mistake here.
Context: ...ocal.yml`, respectively, to utilize this functionality. import LocalSettingsExam...

(QB_NEW_EN)


[grammar] ~256-~256: Use correct spacing
Context: ...ectively, to utilize this functionality. import LocalSettingsExample from '!!raw-...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~258-~258: Use correct spacing
Context: ...tes/default/example.settings.local.php';

Click here to see the contents of the example.settings.local.php file {LocalSettingsExample} </de...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~263-~263: Use correct spacing
Context: ...ck language="php">{LocalSettingsExample}

import LocalServicesExample from '!!raw-...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~268-~268: Use correct spacing
Context: ...tes/default/example.services.local.yml';

Click here to see the contents of the example.services.local.yml file {LocalServicesExample} </de...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-docs
🔇 Additional comments (11)
.gitignore (2)

26-27: Unignore new example local override files — good alignment with PR goal

Adding these unignore rules ensures the new example files are versioned and discoverable.


26-29: Drop legacy default.*.local unignore entries

Since there are no remaining references to default.settings.local.php or default.services.local.yml in the codebase, you can safely remove these lines from .gitignore:

 !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/settings.php (2)

7-9: Docs update to reference example.*.local — looks good

The guidance now points to example.settings.local.php and example.services.local.yml, matching the PR’s intent.


174-176: Local override section references example. correctly*

The comments now direct users to copy example.* into active local override filenames, consistent with the new scheme.

.gitignore.artifact (1)

20-21: Ignoring example.*.local in artifacts — good

These additions prevent shipping example local overrides in deployment artifacts.

web/sites/default/includes/modules/settings.system.php (1)

19-22: Limit skip_permissions_hardening to CI — clear, minimal-risk change

Narrowing this to CI avoids relaxing local permissions by default while keeping CI fast/stable. Change is self-contained and consistent with the PR narrative.

web/sites/default/example.services.local.yml (1)

17-38: Local dev service overrides look sensible

  • Cacheability debug headers enabled
  • Twig debug enabled, cache on (keeps Xdebug usable with .twig)
  • Lenient config schema checker + dedicated logger channel registered
  • Null backend factory is available for opt-in cache disabling via settings.local.php if needed

All appropriate for local development.

.vortex/tests/bats/_helper.bash (3)

271-274: LGTM: Example overrides excluded in “not present” assertions

These align with the new example.* convention and keep artifacts clean.


523-528: LGTM: Example overrides presence + permissions checks

Presence and 644 mode assertions for example files are correct and consistent with repo policy.


1173-1176: LGTM: Development settings are sourced from example. and copied to active local overrides*

The copy flow is correct and matches the new naming.

.vortex/tests/phpunit/Traits/AssertFilesTrait.php (1)

274-276: LGTM: Presence checks updated to example.*

These are consistent with the new convention.

Comment on lines +254 to 256
copy `example.settings.local.php` and `example.services.local.yml`
to `settings.local.php` and `services.local.yml`, respectively, to utilize this
functionality.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Tighten wording for clarity

Minor grammar/clarity improvement.

- copy `example.settings.local.php` and `example.services.local.yml`
- to `settings.local.php` and `services.local.yml`, respectively, to utilize this
- functionality.
+ You can copy `example.settings.local.php` and `example.services.local.yml`
+ to `settings.local.php` and `services.local.yml`, respectively, to enable this
+ functionality.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
copy `example.settings.local.php` and `example.services.local.yml`
to `settings.local.php` and `services.local.yml`, respectively, to utilize this
functionality.
You can copy `example.settings.local.php` and `example.services.local.yml`
to `settings.local.php` and `services.local.yml`, respectively, to enable this
functionality.
🧰 Tools
🪛 LanguageTool

[grammar] ~254-~254: There might be a mistake here.
Context: ...al.phpandexample.services.local.ymltosettings.local.phpandservices.lo...

(QB_NEW_EN)


[grammar] ~255-~255: There might be a mistake here.
Context: ...ocal.yml`, respectively, to utilize this functionality. import LocalSettingsExam...

(QB_NEW_EN)


[grammar] ~256-~256: Use correct spacing
Context: ...ectively, to utilize this functionality. import LocalSettingsExample from '!!raw-...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

🤖 Prompt for AI Agents
.vortex/docs/content/drupal/settings.mdx around lines 254 to 256: tighten the
sentence for clarity by rephrasing the instruction to use more direct wording;
replace the current phrasing with a concise form such as "Copy
example.settings.local.php and example.services.local.yml to settings.local.php
and services.local.yml to enable this functionality." ensuring proper file names
and pluralization are preserved.

Comment on lines +258 to 266
import LocalSettingsExample from '!!raw-loader!./../../../../web/sites/default/example.settings.local.php';

<details>
<summary>Click here to see the contents of the `default.settings.local.php` file</summary>
<summary>Click here to see the contents of the `example.settings.local.php` file</summary>

<CodeBlock language="php">{LocalSettingsExample}</CodeBlock>

</details>

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Fix spacing before MDX import statements to satisfy linters

Insert a blank line before each import … from '!!raw-loader!...' to address spacing warnings and improve readability.

-import LocalSettingsExample from '!!raw-loader!./../../../../web/sites/default/example.settings.local.php';
+
+import LocalSettingsExample from '!!raw-loader!./../../../../web/sites/default/example.settings.local.php';
@@
-<details>
+<details>
@@
-</details>
+</details>
@@
-import LocalServicesExample from '!!raw-loader!./../../../../web/sites/default/example.services.local.yml';
+
+import LocalServicesExample from '!!raw-loader!./../../../../web/sites/default/example.services.local.yml';
@@
-<details>
+<details>
@@
-</details>
+</details>

Also applies to: 268-275

🧰 Tools
🪛 LanguageTool

[grammar] ~258-~258: Use correct spacing
Context: ...tes/default/example.settings.local.php';

Click here to see the contents of the example.settings.local.php file {LocalSettingsExample} </de...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~263-~263: Use correct spacing
Context: ...ck language="php">{LocalSettingsExample}

import LocalServicesExample from '!!raw-...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

🤖 Prompt for AI Agents
In .vortex/docs/content/drupal/settings.mdx around lines 258-266 (and similarly
for 268-275), there is an MDX import using "import ... from '!!raw-loader!...'"
that is not preceded by a blank line; add a single blank line immediately before
each such import statement to satisfy linter spacing rules and improve
readability, ensuring the rest of the surrounding content/markup remains
unchanged.

Comment on lines 54 to 57
// Example settings files that should not exist.
Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml');
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml');

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Also assert real local overrides and legacy defaults are absent

Harden the “absent” assertions by including settings.local.php, services.local.yml, and (optionally) legacy default.* files for backward-compatibility safety.

     // Example settings files that should not exist.
     Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php');
     Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml');
+    // Actual local overrides must not be present here.
+    Assert::assertFileDoesNotExist($webroot . '/sites/default/settings.local.php');
+    Assert::assertFileDoesNotExist($webroot . '/sites/default/services.local.yml');
+    // Safety net for forks still using legacy names.
+    Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php');
+    Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml');
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
// Example settings files that should not exist.
Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml');
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml');
// Example settings files that should not exist.
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/example.services.local.yml');
// Actual local overrides must not be present here.
Assert::assertFileDoesNotExist($webroot . '/sites/default/settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/services.local.yml');
// Safety net for forks still using legacy names.
Assert::assertFileDoesNotExist($webroot . '/sites/default/default.settings.local.php');
Assert::assertFileDoesNotExist($webroot . '/sites/default/default.services.local.yml');
🤖 Prompt for AI Agents
In .vortex/tests/phpunit/Traits/AssertFilesTrait.php around lines 54 to 57, the
test only checks that example.settings.local.php and example.services.local.yml
are absent; add stronger assertions to also assert that settings.local.php and
services.local.yml do not exist and additionally assert absence of legacy
default.* files (e.g., default.settings.php, default.services.yml or any
default.* backups) to prevent backward-compatibility overrides; implement these
by adding corresponding Assert::assertFileDoesNotExist calls for each filename
(and, if preferred, explicit checks for common legacy filenames) immediately
alongside the existing assertions.

Comment on lines +19 to +24
# Disable twig debugging and auto reload, plus enable twig caching.
twig.config:
debug: true
auto_reload: null
# Twig cache allows Xdebug to work with .twig files.
cache: true
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Fix comment to match Twig settings (debug=true vs “Disable twig debugging”)

The comment on Line 19 contradicts the actual values (debug: true). Update the comment to avoid confusion.

-  # Disable twig debugging and auto reload, plus enable twig caching.
+  # Enable Twig debugging; leave auto_reload at default (null); enable Twig caching.
   twig.config:
     debug: true
     auto_reload: null
     # Twig cache allows Xdebug to work with .twig files.
     cache: true
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Disable twig debugging and auto reload, plus enable twig caching.
twig.config:
debug: true
auto_reload: null
# Twig cache allows Xdebug to work with .twig files.
cache: true
# Enable Twig debugging; leave auto_reload at default (null); enable Twig caching.
twig.config:
debug: true
auto_reload: null
# Twig cache allows Xdebug to work with .twig files.
cache: true
🤖 Prompt for AI Agents
In web/sites/default/example.services.local.yml around lines 19 to 24, the
leading comment says "Disable twig debugging and auto reload, plus enable twig
caching." but the settings set debug: true (enabling debugging) and auto_reload:
null; update the comment to accurately reflect the configured values (e.g.,
indicate that twig debugging is enabled, auto_reload is unset/left default, and
cache is enabled) so the comment matches the actual configuration.

Comment on lines +47 to +49
* This setting disables the render cache by using the Null cache back-end
* defined by the development.services.yml file above.
*
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Align comments with file naming: reference services.local.yml, not development.services.yml

The comments still reference development.services.yml which this project does not use. Replace with services.local.yml to avoid confusion.

- * This setting disables the render cache by using the Null cache back-end
- * defined by the development.services.yml file above.
+ * This setting disables the render cache by using the Null cache back-end
+ * defined by the services.local.yml file above.
@@
- * This setting disables the page cache by using the Null cache back-end
- * defined by the development.services.yml file above.
+ * This setting disables the page cache by using the Null cache back-end
+ * defined by the services.local.yml file above.

Also applies to: 69-71

🤖 Prompt for AI Agents
In web/sites/default/example.settings.local.php around lines 47-49 and 69-71 the
inline comments reference development.services.yml which this project does not
use; update those comment lines to reference services.local.yml instead so file
names align across the repository and avoid confusion (replace the text in both
locations).

Comment on lines +117 to +119
* Hide admin toolbar. Useful for themeing while logged in as admin.
*/
// $settings['hide_admin_toolbar'] = TRUE;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick (assertive)

Fix typo: “themeing” → “theming”

Tiny doc polish.

- * Hide admin toolbar. Useful for themeing while logged in as admin.
+ * Hide admin toolbar. Useful for theming while logged in as admin.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Hide admin toolbar. Useful for themeing while logged in as admin.
*/
// $settings['hide_admin_toolbar'] = TRUE;
* Hide admin toolbar. Useful for theming while logged in as admin.
*/
// $settings['hide_admin_toolbar'] = TRUE;
🤖 Prompt for AI Agents
In web/sites/default/example.settings.local.php around lines 117 to 119, the
inline comment contains a typo "themeing" — update that word to "theming" so the
comment reads "Useful for theming while logged in as admin." Keep everything
else unchanged.

@AlexSkrypnyk AlexSkrypnyk merged commit 0f7b9ab into develop Aug 14, 2025
30 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/1907-Rename-default.services.local branch August 14, 2025 09:40
@github-project-automation github-project-automation bot moved this from BACKLOG to Release queue in Vortex Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AUTOMERGE Pull request has been approved and set to automerge

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Rename default.services.local to example.services.local to better show the intent

2 participants