Auto-refresh uv/trivy sha256 pins via a Renovate postUpgradeTask #156
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate-auto-refresh-release-sha"
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?
Probleem
Renovate's
github-releases-customManager bumptUV_VERSION(ci.yml) enTRIVY_BIN_VERSION(security-scan.yaml), maar niet de bijbehorende hardcodedsha256die de install-stap verifieert. Elke uv/trivy-bump faalde CI daardoor closed tot iemand de pin handmatig ververste (zie #148).De image-aanpak kan niet: de gewone CI-jobs draaien op
ubuntu-latestzonder container-daemon,container: <uv-image>breektactions/checkout(geen Node in de image), en third-party actions zijn op deze runner niet gegarandeerd. Daarom bestaat de curl+sha-aanpak - en dit lost het echte gat op: de sha automatiseren.Oplossing
.forgejo/scripts/refresh-release-sha.sh <depName> <newVersion>haalt de officiële checksum op (uv: per-artefact.sha256; trivy:checksums.txt) en herschrijftUV_SHA256/TRIVY_BIN_SHA256. Gewired alspostUpgradeTaskop de uv+trivy github-releases-regel, zodat renovate de gewijzigde pin in dezelfde PR commit.renovate.yamlstaat viaRENOVATE_ALLOWED_COMMANDSprecies dit ene commando toe.Best-effort: bij een fetch-fout laat het de pin ongemoeid en exit 0, dus het kan een renovate-PR nooit blokkeren (hooguit dezelfde situatie als nu).
Getest (lokaal)
Trust-model gelijk aan hoe docker-digests al gepind worden (vertrouw de release-host op pin-moment).