Repository navigation
Widen the naming-fork replacement to vertical modules (FENG-2988) - #212
Conversation
The enterprise leaves are migrated, so the rule no longer needs to exclude vertical repos. Dropping matchRepositories rather than listing both patterns: it would have duplicated autodiscoverFilter exactly, and the two could drift. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The remaining labeling feedback is a non-blocking nit.
Review effort: Lite
Findings: None
What changed in this PR
Broadens the Terraform Renovate naming-module replacement from enterprise to vertical repositories.
Changes:
- Removes the redundant
matchRepositoriesrestriction. - Expands coverage through existing autodiscovery filters.
- Updates the rule description for both repository families.
| File | Summary |
|---|---|
renovate-terraform.json |
Expands naming-module replacement scope to enterprise and vertical repositories. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Dry-run results
5 repos would get a The three verticals this PR is for:
Plus two enterprise repos still outstanding from #211's wave:
That second pair is the useful signal: 28 of the 30 enterprise replacement PRs have landed, and those two have not. This PR does not change their behaviour — they were already in scope via Note Review gate on each downstream PR is unchanged: |
Jira issue link: FENG-2988
What
Widens the naming-fork replacement rule in
renovate-terraform.jsonto coverworkleap/terraform-*-vertical-*, completing the wave that #211 started forterraform-*-enterprise-*.One-line change:
matchRepositoriesis dropped rather than extended.Why drop the key instead of listing both patterns
The config's
autodiscoverFilteris already exactly["workleap/terraform-*-enterprise-*", "workleap/terraform-*-vertical-*"]. Now that the ruleshould apply to both, a
matchRepositorieslisting those same two patterns would be pureduplication that can silently drift from the filter above it. Removing it makes the rule
follow whatever the config discovers.
Happy to list both patterns explicitly instead if reviewers prefer the rule to be
self-describing — say the word.
Why this is safe
Unchanged from #211 and re-verified there against the real estate:
matchCurrentValuestays/^0\.4\.[23]$/. The fork is cut from upstream0.4.3(
a837381), and upstream0.4.2->0.4.3is purely additive (1,611 insertions, 0deletions), so neither pin changes a generated name.
maindoes not contain80c13e5"Enable use of hyphen for API Managementresources", so the APIM rename footgun stays avoided.
replacementVersionis1.0.1, the opt-inunique-random-stringbuild.Review gate
terraform planon each downstream PR must showrandom_stringdestroys only - 0 creates, 0replacements, and no
movedblocks (themodule "azure_naming"block name is unchanged, sothe address is unchanged). Read that as "no
azurerm_*create or replace", not "noazurerm_*lines" - the FENG-2646 pilot confirmed pre-existing drift muddies the diff. Any other destroy is
a stop signal.
Per repo before merge:
grep -rn "name_unique\|unique-seed"must be clean.Fan-out
PR runs are dry by construction since #211, so opening this does not touch the estate - the
renovate-terraform-enterprisecheck here will log what it would do and create nothing. Fan outdeliberately after merge via
workflow_dispatchon Renovate Terraform Enterprise, or let thenightly cron pick it up.
Note the
vertical-*repos were already being autodiscovered by this config, so the dry-run logon this PR is the first real look at how many blocks they carry.
Follow-ups
wl-terraform-*consumer wave, still open and still needsreplacementVersioncorrected
1.0.0->1.0.1before it merges.🤖 Generated with Claude Code