Skip to content

ci(release): build through the wrapper, drop the stale ignore line - #187

Merged
stozo04 merged 2 commits into
mainfrom
ci/use-wrapper
Sep 7, 2026
Merged

stozo04 merged 2 commits into
mainfrom
ci/use-wrapper

Conversation

@stozo04

@stozo04 stozo04 commented Sep 7, 2026

Copy link
Copy Markdown
Owner

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-gradle reads the version from gradle-wrapper.properties itself, 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 mean git add -f on every wrapper upgrade and an open invitation to untrack it again. Replaced with a comment saying why the jar is tracked.

chmod +x gradlew stays — git on Windows doesn't track the executable bit, so gradlew is still mode 100644 in the index and arrives non-executable on a Linux runner. git update-index --chmod=+x gradlew locally would fix that at the source whenever you want.

These two changes were originally on the gradle-wrapper branch, but that branch was cut from a main predating the workflows, so they collided as add/add conflicts. Reverted there, reapplied here on current main.

🤖 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:bundleRelease instead of invoking a bare gradle binary, including chmod +x gradlew so 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.properties and passed gradle-version into setup-gradle is removed. gradle/actions/setup-gradle@v4 now picks the version from the wrapper properties and documents that it checksums gradle-wrapper.jar against Gradle’s published hashes on each run.

.gitignore stops ignoring gradle/wrapper/gradle-wrapper.jar and 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.

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.
@stozo04
stozo04 merged commit a3c5fea into main Sep 7, 2026
3 checks passed
@stozo04
stozo04 deleted the ci/use-wrapper branch September 7, 2026 21:20
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