Conversation
… cleanup Add a maintainer script that fetches the latest config files from Drupal core and GitLab CI templates, compares them against local assets, and optionally applies updates. A weekly GitHub Actions workflow detects upstream drift and opens an issue when changes are found. Expand the full install test with detection accuracy assertions for every wrapper command: true positives (tools catch known violations), true negatives (clean code passes), and exclusion path tests (contrib code is not flagged). Clean up Docker volumes (mariadb, mutagen, snapshots) in test teardown to prevent accumulation across test runs.
The local .cspell.json asset has populated ignorePaths, dictionaries, dictionaryDefinitions, and words arrays (expanded by prepare-cspell.php at install time). Upstream has empty arrays. Strip these from both sides before comparing so the script only flags structural changes to fields like description, flagWords, and overrides. Also revert accidental asset updates from test run.
The DDEV addon update checker requires files to end with a newline, but some upstream files lack one. Add trailing newline to .eslintrc.jquery.json and normalize fetched files in the sync script so the difference doesn't cause false positives.
Resolve conflict in sync script: keep trailing newline normalization.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Issue
Upstream Drupal core and GitLab CI template configs drift over time. There was no automated way to detect changes or apply updates, and the DDEV addon checker flagged files missing trailing newlines.
How This PR Solves The Issue
scripts/sync-upstream-configs.sh— a maintainer script that fetches latest configs from Drupal core and GitLab CI templates, compares against local assets with smart diffing (strips DCQ headers, normalizes cspell arrays populated by prepare-cspell.php, handles phpstan baseline blocks), and optionally applies updates via--updatemainand opens an issue when upstream drift is detectedAutomated Testing Overview
Expands the full install bats test with detection accuracy assertions for every wrapper command:
Adds Docker volume cleanup (mariadb, mutagen, snapshots) in test teardown to prevent accumulation across runs.
Manual Testing Instructions
Release/Deployment Notes
New maintainer script at
scripts/sync-upstream-configs.sh— not shipped to end users. The GitHub Actions workflow requires no additional setup beyond merging.