From 62810fbfa008d1b9efd03f4a2813a824b017471f Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 17 Sep 2026 16:42:27 +0000 Subject: [PATCH] fix(release): drop the dead `tools` package from the Android SDK setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `android-actions/setup-android` defaults `packages` to `tools platform-tools`. `tools` — the obsolete Android SDK Tools — no longer exists in Google's repository, so sdkmanager exits 1 with "Warning: Failed to find package 'tools'" and the release job dies at "Set up Android SDK". That is worse than a normal red build because of where it lands: the bump PR has already been opened and merged by then. Run #7 (2026-09-17) left `main` at 1.0.53 with no bundle and no tag, which is the state the cut-release skill handles with `dry_run: true` rather than a second bump. The `v4` tag carries the same default, so pinning a newer action does not fix it — the list has to be overridden. Nothing downstream wants the dead package: `bundleRelease` lets AGP fetch the platform and build-tools it needs, and the signature check is `jarsigner` from the JDK. Keeping `platform-tools` makes this the default list minus the package Google removed, and nothing else. `release.yml` is the only workflow that sets up the Android SDK. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01FBjSmDxvBq7XtFE9PA28Ko --- .github/workflows/release.yml | 9 +++++++++ .idea/dictionaries/project.xml | 1 + cspell.json | 1 + 3 files changed, 11 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9ae5ac5..c78f139 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -165,6 +165,15 @@ jobs: - name: Set up Android SDK uses: android-actions/setup-android@v3 + with: + # The action's default package list is `tools platform-tools`, and `tools` — the obsolete + # SDK Tools — no longer exists in Google's repository. sdkmanager exits 1 with + # "Warning: Failed to find package 'tools'" and the release dies here, after the bump PR + # has already merged (run #7, 2026-09-17, releasing 1.0.53). The v4 tag carries the same + # default, so pinning a newer action does not fix it; the list has to be overridden. + # Nothing downstream wants the dead package: `bundleRelease` lets AGP fetch the platform + # and build-tools it needs, and the signature check is `jarsigner` from the JDK. + packages: 'platform-tools' # Takes the Gradle version from gradle/wrapper/gradle-wrapper.properties, and from v4 also # checksums gradle-wrapper.jar against Gradle's published hashes on every run — which is what diff --git a/.idea/dictionaries/project.xml b/.idea/dictionaries/project.xml index 9f7e486..3488611 100644 --- a/.idea/dictionaries/project.xml +++ b/.idea/dictionaries/project.xml @@ -386,6 +386,7 @@ sdcard sdk sdkconfig + sdkmanager searchlab seekable segoe diff --git a/cspell.json b/cspell.json index ddf1439..a2553e4 100644 --- a/cspell.json +++ b/cspell.json @@ -409,6 +409,7 @@ "sdcard", "sdk", "sdkconfig", + "sdkmanager", "searchlab", "seekable", "segoe",