scripts: one-prompt release deploy that reaches wireless-debugging phones - #1104
Merged
Merged
Conversation
…ones
fast_deploy_android_release.sh asked for the keystore path, the alias, the
keystore password and the key password, and Gradle was the first to find
out a password was wrong. It now asks once, for the keystore password, and
checks it with keytool before Gradle runs (three tries on a terminal). The
keystore defaults to ~/dsm-release.p12, the key to dsm-release or the
keystore's only private key, the key password to the keystore password.
Both deploy scripts split `adb devices` on whitespace, so a wireless-
debugging serial holding a space ("adb-XXXX (2)._adb-tls-connect._tcp")
was cut short and the install stopped at "device not found". A device is
now addressed by its adb transport id. The scripts put the Android SDK's
adb first on PATH, because a second adb version on the same server port
resets the connection. A failed install on one phone no longer stops the
others; the script names the phones it failed on and exits non-zero.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y4wDTToHmJfkYYJvMKXt3u
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.
scripts/fast_deploy_android_release.shasked four questions: the keystore path, the alias, the keystore password and the key password. A wrong password only showed up when Gradle failed atpackageRelease. Now:keytoolbefore Gradle runs and allows three tries on a terminal.~/dsm-release.p12. The key defaults todsm-release, or to the keystore's only private key if there is nodsm-release. The key password defaults to the keystore password. Environment variables still override all of these.Both deploy scripts found phones by splitting
adb deviceson whitespace. A wireless-debugging serial can contain a space (adb-RF8Y90PX5GN-xJARDG (2)._adb-tls-connect._tcp), so the name was cut short and the install failed withdevice not found. Changes to both scripts:adb -t).SERIALSstill selects devices with-s.protocol fault ... Connection reset by peer).Tested with a fake
adbthat returns the device list from the bench Mac (two wireless serials with spaces, oneunauthorized) and against real PKCS12 keystores: wrong password, right password, and a non-default alias.🤖 Generated with Claude Code
https://claude.ai/code/session_01Y4wDTToHmJfkYYJvMKXt3u
Generated by Claude Code