ci(release): build through the wrapper, drop the stale ignore line - #187
Merged
Merged
Conversation
The jar is tracked as of the previous commit, so the ignore line is stale and actively misleading: it would force `git add -f` on every wrapper upgrade and invite someone to untrack it again.
With gradle/wrapper/gradle-wrapper.jar committed, ./gradlew works on a clean checkout, so CI uses the same entry point as every other environment instead of installing Gradle separately. Drops the version-reading step — setup-gradle takes the version from the wrapper, and from v4 it also checksums the jar against Gradle's published hashes on every run. chmod stays: git on Windows does not track the executable bit, so gradlew is still mode 100644 in the index.
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.
Follow-up to #186, which landed
gradle/wrapper/gradle-wrapper.jar.release.yml— back to./gradlew, so CI uses the same entry point as every other environment. The version-reading step is gone;setup-gradlereads the version fromgradle-wrapper.propertiesitself, and from v4 it also checksums the jar against Gradle's published hashes on every run — which is what makes committing that jar safe rather than merely convenient..gitignore— removed/gradle/wrapper/gradle-wrapper.jar. Leaving it would meangit add -fon every wrapper upgrade and an open invitation to untrack it again. Replaced with a comment saying why the jar is tracked.chmod +x gradlewstays — git on Windows doesn't track the executable bit, sogradlewis still mode100644in the index and arrives non-executable on a Linux runner.git update-index --chmod=+x gradlewlocally would fix that at the source whenever you want.These two changes were originally on the
gradle-wrapperbranch, but that branch was cut from amainpredating the workflows, so they collided as add/add conflicts. Reverted there, reapplied here on currentmain.🤖 Generated with Claude Code
https://claude.ai/code/session_01Miqsf1M14nY5TKiZHzyjNY
Note
Low Risk
Release CI and ignore-file changes only; no app runtime, auth, or signing logic changes beyond using the same Gradle entry point as developers.
Overview
Aligns the release workflow with local builds by running
./gradlew :app:bundleReleaseinstead of invoking a baregradlebinary, includingchmod +x gradlewso Linux runners can execute the script when the index has no executable bit.Gradle setup in CI is simplified: the custom step that parsed
gradle-wrapper.propertiesand passedgradle-versionintosetup-gradleis removed.gradle/actions/setup-gradle@v4now picks the version from the wrapper properties and documents that it checksumsgradle-wrapper.jaragainst Gradle’s published hashes on each run..gitignorestops ignoringgradle/wrapper/gradle-wrapper.jarand adds a comment that the jar is intentionally committed so clean clones and CI can run the wrapper; the comment points to setup-gradle’s checksum as the safety net for tracking the binary.Reviewed by Cursor Bugbot for commit 0bbb90b. Bugbot is set up for automated code reviews on this repo. Configure here.