ci: keep verify-flatpak's vendored Gradle dist in lockstep with the wrapper - #6785
Conversation
|
Warning Review limit reached
Next review available in: 13 minutes Limit details: You’ve used all 4 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
79faf97 to
9e2d27e
Compare
…rapper The offline flatpak manifest vendors the exact gradle-<version>-bin.zip that gradle-wrapper.properties pins, verified by distributionSha256Sum. When Renovate bumped the wrapper to 9.7.1 (#6777) without this file, every PR touching the trigger paths failed both build-flatpak arches 15+ minutes in with "Verification of Gradle distribution failed!" (hand-fixed by #6782). - Add a Renovate custom manager that mirrors wrapper bumps into the manifest's distribution URL in the same PR (shared depName "gradle"). The sha256 cannot be auto-updated: the gradle-version datasource has no digest support and the hosted app disallows postUpgradeTasks. - Extend the 9.7.0 block rule to match by depName so the custom manager can never propose the blocked version on its own. - Add a guard step at the top of generate-sources that diffs the manifest's dist filename and sha256 against the wrapper and fails in seconds with a message naming both files, instead of silently letting the drift through to the flatpak build. - Update the manifest's pin comment to document the new coupling. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
9e2d27e to
8ca9b9e
Compare
|
Renovate wrapper bumps kept breaking the offline flatpak build silently: #6777 bumped the wrapper to 9.7.1 without touching the vendored distribution pin in
scripts/verify-flatpak/desktop-offline.yaml, and every PR that triggered verify-flatpak then failed both build-flatpak arches 15+ minutes in with "Verification of Gradle distribution failed!" (hand-fixed by #6782). This wires the two files together so they cannot drift silently again. Rebased on #6782, so the manifest change here is only the pin-comment update.🧹 Chores
.github/renovate.json): mirrorsgradle-wrapper.propertiesbumps into the manifest's distribution URL. It shares depNamegradleand thegradle-versiondatasource with the built-ingradle-wrappermanager, so both files update in the same Renovate branch/PR. Thesha256:line cannot be auto-updated: thegradle-versiondatasource has no digest support and the hosted Mend app disallowspostUpgradeTasks, so the sha still needs a one-line hand copy fromdistributionSha256Sum.generate-sourcesinverify-flatpak.yml: compares the manifest's dist filename (version AND flavor) and sha256 againstgradle-wrapper.properties, failing in seconds with an error that names both files and where the correct sha lives. A wrapper-bump PR now goes red at the guard instead of after two full flatpak builds.Note: the guard makes drift loud and early, but it only hard-blocks automerge if verify-flatpak is enforced; #6777 landed with the workflow red.
Testing Performed
renovate-config-validatoron Renovate 44.35.2 (current hosted line): config validates clean. An older cached 37.x rejectsmanagerFilePatterns, so the validation was rerun against latest deliberately.matchStringsregex tested against the manifest: extracts exactly9.7.1and does not matchdest-filename: "gradle-bin.zip".actionlintandshellcheckclean.🤖 Generated with Claude Code