Repository navigation
chore(ci): gate the Renovate validator bump behind dashboard approval - #14
Merged
Merged
Conversation
setchy
force-pushed
the
chore/renovate-dashboard-approval
branch
from
October 25, 2026 19:06
abf5104 to
fded9b4
Compare
Renovate ships several releases per day, so the pinned validator version is constantly behind and every bump moves main, which raises an auto-merged digest PR in each consumer that pins this workflow by SHA. Keep the exact pin, but require approval on the Dependency Dashboard before a PR is opened for the renovate dependency. `schedule` is not a mergeable option, so `["at any time"]` replaces the preset's `schedule:weekly` and an approved bump opens immediately. Bump the pin to 44.181.6 so the pending renovate/renovate-44.x branch has nothing left to update.
setchy
force-pushed
the
chore/renovate-dashboard-approval
branch
from
October 25, 2026 19:08
fded9b4 to
e97ac9e
Compare
Renovate's validator already finds renovate.json, .renovaterc* and a `renovate` key in package.json, so the discovery logic here was redundant: ls/compgen detection, a hand-maintained filename list, a realpath/ABS string with intentional word-splitting, a scratch working directory, and the shellcheck suppressions that came with it (one of which was malformed and broke actionlint). Run the validator in place and pass only what it cannot discover: preset files in this repository, where every root JSON file is a preset. The unused `files` input is dropped from the reusable workflow; no consumer passes it. Behaviour change: a repository with no Renovate config now passes with the validator's "No files to perform configuration validation against" warning instead of failing.
setchy
force-pushed
the
chore/renovate-dashboard-approval
branch
from
October 25, 2026 19:10
e97ac9e to
e145c77
Compare
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.
Two changes: stop the bump churn, and let the validator find the config itself.
1. Gate the Renovate bump behind dashboard approval
renovate.jsontracks the exact Renovate version pinned in the validator workflow. Upstream ships several releases a day, so the pin is always behind, and every bump merge movesmain— which raises an auto-merged digest PR in each of the 4 consumers that pin this workflow by SHA (gitify,electron-menubar,website,gnome).scheduleis not amergeableoption (Renovate only concatenates mergeable arrays inlib/config/utils.ts), so["at any time"]replaces the preset'sschedule:weeklyand an approved bump opens immediately.44.167.7→44.181.6, so the pendingrenovate/renovate-44.xbranch has nothing left to update. The pin stays exact and reproducible.2. Let the validator discover the config files
Replaces the
ls/compgendetection, hand-maintained filename list,realpath/ABSword-splitting, scratch working directory and# shellcheck disable=SC2086suppressions (one malformed →SC1072/SC1073,actionlintred onmain):renovate.json,.renovaterc.jsonand arenovatekey inpackage.json.default.jsonis not in upstream'sconfigFilePatterns, so preset repos still name their files.--no-globalfixes a real bug: passing CLI args makes the validator treat those files as self-hosted global config (INFO: Validating ./default.json as global config). They are now validatedas repo config, which is correct for a preset.filesinput is dropped — no consumer in either org passes it.npx --package …installs to the npm cache, so the repo'spackage.jsonengines/packageManagercannot block it (verified with an incompatibleengines.nodeandengine-strict=true).WARN: No files to perform configuration validation againstinstead of failing.Validation
actionlintclean,renovate-config-validator --strict --no-globalpasses on44.181.6, and the step was exercised against this preset repo, a consumerrenovate.json,.renovaterc.json,package.json+renovate, and an empty directory. Same changes as setchy/renovate-config#27.