ci(renovate): track the tool versions pinned in workflows and actions - #73
Merged
Conversation
Four versions sat frozen because no manager could see them -- they live in composite-action input defaults and a shell assignment, not in a manifest: @antora/cli 3.1.14 build-antora-site asciidoctor-kroki 0.18.1 build-antora-site orhun/git-cliff 2.13.1 setup-git-cliff rhysd/actionlint 1.7.7 ci.yml Same silent rot as the Nisse pin that Renovate skipped for a missing xmlns: a pinned version that nothing updates is not a pin, it is a version nobody is watching. A `# renovate:` comment above each makes it a tracked dependency. Not the customManagers:githubActionsVersions preset -- that expects the value on a `SOMETHING_VERSION:` key, and three of these are action-input `default:`s. The two matchStrings were tested against the real files and discover exactly these four. git-cliff needs one more thing. Renovate can bump the version but cannot compute the new SHA-256, so a bump will fail the checksum -- which is correct, and failing closed is the point. The check now prints the expected and actual digests and says which input to update, so the fix is a copy-paste rather than a puzzle. Also holds asciidoctor-kroki below 1.x: 1.x is not compatible with Antora, which is the only thing using it. This closes reqstool.github.io#41 and stops it being re-proposed. Signed-off-by: Jimisola Laursen <jimisola@jimisola.com>
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.
ⓘ Same class of bug as the Nisse pin Renovate skipped for a missing
xmlns: a pinned version that nothing updates is not a pin — it is a version nobody is watching.What & Why
Four tool versions were invisible to every Renovate manager, because they live in composite-action input defaults and a shell assignment rather than in a manifest:
@antora/clibuild-antora-siteasciidoctor-krokibuild-antora-siteorhun/git-cliffsetup-git-cliffrhysd/actionlintci.ymlA
# renovate:comment above each now makes it a tracked dependency, picked up by a custom manager.Not the
customManagers:githubActionsVersionspreset — that expects the value on aSOMETHING_VERSION:key, and three of these are action-inputdefault:s. I wrote the twomatchStringsinstead and tested them against the real files; they discover exactly these four and nothing else:Config validated with
renovate-config-validator.The git-cliff wrinkle
Renovate can bump the version but cannot compute the new SHA-256, so a bump will fail the checksum. That is correct — failing closed is exactly what a pinned digest is for. But the failure should not be a puzzle, so it now prints both digests and says which input to change:
One copy-paste per git-cliff release, versus never updating it at all.
Also: holds asciidoctor-kroki below 1.x
Per @jimisola. This should auto-close reqstool.github.io#41 and stop v1 being re-proposed — the incompatibility was only recorded in a chat thread until now.
Author checklist
matchStringstested against the real files — 4 found, as expectedrenovate-config-validatorpassesactionlint,zizmor,yamllint, permissions check, action tests all cleanTest Plan
After merge, Renovate should open PRs for any of the four that are behind, and close #41. Worth checking its next run picks up all four rather than a subset — a custom manager that silently matches nothing is the failure mode to watch for here.