Skip to content

fix(renovate): cover prek.toml.jinja and soft-fail render-template - #18

Merged
wgordon17 merged 7 commits into
gordon-code:mainfrom
wgordon17:fix/prek-jinja-renovate-coverage
Jul 28, 2026
Merged

fix(renovate): cover prek.toml.jinja and soft-fail render-template#18
wgordon17 merged 7 commits into
gordon-code:mainfrom
wgordon17:fix/prek-jinja-renovate-coverage

Conversation

@wgordon17

Copy link
Copy Markdown
Member

Summary

  • Adds a customManager regex covering rev = "..." pins in template/prek.toml.jinja, which the native prek.toml (TOML/jsonata) manager can't parse since it's Jinja-templated; previously only the root prek.toml got bumped, so the consistency dogfooding check reverted any prek-tooling bump on re-render (blocks PR chore(deps): update all non-major dependencies #16)
  • render-template.yaml now soft-fails (continue-on-error) and skips its checkout/push steps when RENOVATE_TOKEN is unset or invalid, instead of red-X'ing every Renovate PR touching includes/**/template/** — the token itself has been dead since 2026-07-21 and needs separate rotation, but that shouldn't block this dependency-update pipeline in the meantime
  • Verified the new customManager regex extracts all 6 pinned repos correctly, and validated both files with actionlint and Renovate's own config validator (pinned at the fleet's actual production version, 43.150.0)

.github/renovate.json is generated from template/.github/renovate.json.jinja
via an include of includes/renovate-template.jinja, not hand-edited directly.
The previous commit added the customManager to the generated file only, so
the consistency check's re-render reverted it right back out.
Job-level continue-on-error masked any failure in the job, not just an
auth problem -- a genuine bug in the render/push steps would have soft-
passed too. Scoping it to just the checkout step preserves hard-fail
behavior for everything downstream while still tolerating an unset or
stale RENOVATE_TOKEN.
Checkout only needs read access to a public repo -- GITHUB_TOKEN
handles that fine. Gating checkout on the token (and cascading skips
to every step after it) meant nix-setup, the actual render, and the
flake-lock check never ran when the token was unset or stale, even
though none of them need any special credential. Only the final
`git push` genuinely needs RENOVATE_TOKEN: GITHUB_TOKEN-authored
pushes don't retrigger downstream workflow runs, and pushing a
workflow-file change needs `workflows: write`, which GITHUB_TOKEN
lacks here.
Replaces the stale, misleadingly-named RENOVATE_TOKEN secret (a
leftover from this repo's pre-migration self-hosted Renovate setup,
unrelated to what this workflow actually does) with a fresh
installation token minted at runtime from khepri-bot's App
credentials (KHEPRI_BOT_APP_ID/KHEPRI_BOT_PRIVATE_KEY, org-level
secrets on gordon-code scoped to this repo). No more manual rotation
or silent expiry -- the only way this now breaks is a deliberate key
rotation, not decay.
@wgordon17
wgordon17 marked this pull request as ready for review July 28, 2026 14:40
@wgordon17
wgordon17 merged commit d1f9cb8 into gordon-code:main Jul 28, 2026
2 checks passed
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.

1 participant