fix: stop provisioning cspell config - #162
Merged
Merged
Conversation
Terraform Format and Style 🖌
|
Move .cspell.config.yaml to a new seeded_repository_files mechanism: the file is created with template content when a repository is first provisioned, but ignored afterwards so each repository owns its own cspell configuration. The included moved block migrates all existing instances in state, so no manual 'terraform state rm' is needed and no files are deleted from managed repositories.
This was referenced Jun 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stop pushing the shared
.cspell.config.yamltemplate into managed repositories on every sync, so individual repos can own their cspell config and repo-specificignorePaths.Instead of unmanaging the file entirely, this introduces a seeded files mechanism in the
github-repositorymodule (seeded_repository_files): the file is created with the template content when a repository is first provisioned, butlifecycle.ignore_changesprevents Terraform from ever updating it afterwards. New repositories still get a working starting config; existing repositories keep their local changes.Context
The June 7 Terraform sync overwrote repo-specific cspell configs with the shared template in at least:
Arrow-air/project-quiver: removed the KiCad/STEP binary-file ignores added in PR #219, causing ~39k spelling errors once CI ran later.Arrow-air/website: removed repo-specific ignores such asstatic,package-lock.json, anddocs/project-quiver, leavingstaginglatently red.Because the bot commits include
[skip ci], these failures did not surface at sync time.Migration
Handled in-config by a
movedblock in the module: every existinggithub_repository_file.files[".cspell.config.yaml"]instance is renamed in state togithub_repository_file.seeded_files[".cspell.config.yaml"]at plan time. No manualterraform state rmis required and no files are deleted from managed repositories.The plan should show all 23 instances as moved, with no destroys. (An unrelated
github_branch_protection.allcreate forproject-longshotis expected — pre-existing drift that any apply would pick up.)Follow-up (not in this PR)
project-quiverandwebsitecurrently contain the clobbered template version of the config; their repo-specific ignore paths need to be restored in those repos once this merges.Validation
terraform fmt -check -recursive: cleanterraform validate(1.4.5 in Docker): valid