Skip to content

fix(renovate): let Renovate pin references to this repo - #96

Merged
jimisola merged 2 commits into
mainfrom
fix/renovate-pin-reqstool-refs
Aug 23, 2026
Merged

fix(renovate): let Renovate pin references to this repo#96
jimisola merged 2 commits into
mainfrom
fix/renovate-pin-reqstool-refs

Conversation

@jimisola

Copy link
Copy Markdown
Member

Closes #25.

Description

renovate.json5's pinDigests rule excluded reqstool/*, so every consumer's references to this repo went unpinned and stayed on a mutable @main.

That exclusion was written when the only first-party references were inside this repo, where $/ makes pinning moot. But this config is extended by every repo in the org, so it reached much further than intended — it's the reason 63 @main references accumulated across 12 repos, and why CodeQL's actions/unpinned-tag fired twice this week while the PyPI publish path was being fixed.

actions/* and github/* stay excluded, unchanged — they sit inside the same trust boundary as the runner, and pinning them would trade the major-tag automerge for a digest bump per action per week.

Merge order

This merges last. 1.0.0 is tagged, and 12 companion PRs move every consumer to @<sha> # 1.0.0. Merging this first would have Renovate pin the @main refs mid-sweep, which is the wrong end state.

Repo PR
reqstool-client #447
reqstool-python-decorators #95
reqstool-python-hatch-plugin #106
reqstool-python-poetry-plugin #143
reqstool-java-annotations #181
reqstool-java-maven-plugin #189
reqstool-java-gradle-plugin #82
reqstool-typescript-tags #148
reqstool-vscode #108
reqstool-demo #113
reqstool-ai #44
reqstool.github.io #44

Checklist

Test plan

Parsed locally as JSON5 (29 packageRules). validate-renovate on this PR is the real check. After merge, the proof is Renovate opening a digest-bump PR against the consumers on the next tag here rather than staying silent.

The pinDigests rule excluded reqstool/*, so consumers' references to
this repo were never pinned and stayed on a mutable @main. The exclusion
was written when the only first-party references were inside this repo,
where $/ makes pinning moot -- but this config is extended by every repo
in the org, so it reached much further than intended.

With consumers now pinning to the 1.0.0 tag, this rule is what keeps
those pins current: Renovate bumps the digest and rewrites the version
comment on each new tag here.

actions/* and github/* stay excluded, unchanged -- they sit inside the
same trust boundary as the runner.

Closes #25.

Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
@jimisola
jimisola merged commit dcf985b into main Aug 23, 2026
10 checks passed
@jimisola
jimisola deleted the fix/renovate-pin-reqstool-refs branch August 23, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build: tag shared workflows with semver for Renovate tracking

1 participant