From 21dca6b5c5f1da3b3055ab54cf4a6c90edc6dbbc Mon Sep 17 00:00:00 2001 From: Shallowplague Date: Sun, 21 Jun 2026 10:46:47 -0500 Subject: [PATCH] Fix release CI: make gradlew executable on tag builds + grant dev_build contents:write release.yml builds the checked-out tag, but tags up to v1.3.5 were committed with gradlew at mode 100644 (no exec bit), so `./gradlew` failed with "Permission denied" (exit 126). chmod it before invoking. dev_build.yml's snapshot Release step needs contents:write; the repo's default token is read-only, so the publish step was 403-ing on every push to main. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/dev_build.yml | 4 ++++ .github/workflows/release.yml | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dev_build.yml b/.github/workflows/dev_build.yml index a53fece..2f30650 100644 --- a/.github/workflows/dev_build.yml +++ b/.github/workflows/dev_build.yml @@ -5,6 +5,10 @@ on: branches: - '**' +permissions: + # Required for the snapshot release step; the repo's default token is read-only. + contents: write + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4cad61a..d6f2364 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,8 +36,12 @@ jobs: uses: gradle/actions/setup-gradle@v6 - name: Build with Gradle + # Tags up to v1.3.5 were committed with gradlew at mode 100644 (no exec bit), + # so make it runnable before invoking it. # Override the Windows JDK path pinned in gradle.properties with the runner's JDK 21. - run: ./gradlew build -Dorg.gradle.java.home="$JAVA_HOME" + run: | + chmod +x ./gradlew + ./gradlew build -Dorg.gradle.java.home="$JAVA_HOME" - name: Publish Release uses: softprops/action-gh-release@v3