renovate: catch customManagers that match no file #17
No reviewers
Labels
No labels
maintenance
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
deadstyle/forgejo!17
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/renovate-pattern-guide"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
RENOVATE.md's examplecustomManagersrule used"managerFilePatterns": ["^\\.forgejo/workflows/ci\\.yml$"]. Renovate reads a bare string there as a glob, so it matches no file, and the rule tracks nothing. The config validator accepts it, so nothing ever flagged it. Two repos copied the pattern:A read-only scan of every repo on the instance with a Renovate config (22 of 49) found no others. garage, invoice-ninja, jellyfin and valkey already wrap their patterns correctly.
Changes:
renovate/check-custom-managers(new): run it from any repo root. It runs the bot's own Renovate version (read from.forgejo/workflows/renovate.yml) in extract-only mode, against a snapshot of the working tree with thelocal>preset stripped, since the local platform can't fetch it. It lists every dependency the custom rules found, and exits 1 when they found nothing, or when a rule with a fixeddepNameTemplatefound nothing.RENOVATE.md:matchDatasourcesNo change to
renovate/default.jsonor the workflow, so nothing changes for onboarded repos on merge.Verification
renovate/check-custom-managersagainst three configs:Both JSON examples in
RENOVATE.mdparse. The file was formatted with prettier 3.3.3 using the repo's.prettierrc.I first tried a one-line check using Renovate's
RENOVATE_IGNORE_PRESETS. It doesn't work: Renovate still fetches thelocal>preset and aborts with "does not support local presets". That is why the check needs a script that strips the preset reference from a snapshot.🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.