ci: fix SDK license accept (yes| SIGPIPE under pipefail → exit 141)
Build APK / build (push) Successful in 7m13s

Use process substitution (< <(yes)) instead of a pipe so yes getting
SIGPIPE when sdkmanager stops reading isn't propagated by pipefail.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 12:23:24 +00:00
parent 55676d998f
commit 41a3cea2dc
+3 -1
View File
@@ -40,7 +40,9 @@ jobs:
https://dl.google.com/android/repository/commandlinetools-linux-9862592_latest.zip https://dl.google.com/android/repository/commandlinetools-linux-9862592_latest.zip
unzip -q /tmp/cmdtools.zip -d "$SDK/cmdline-tools" unzip -q /tmp/cmdtools.zip -d "$SDK/cmdline-tools"
mv "$SDK/cmdline-tools/cmdline-tools" "$SDK/cmdline-tools/latest" mv "$SDK/cmdline-tools/cmdline-tools" "$SDK/cmdline-tools/latest"
yes | "$SDK/cmdline-tools/latest/bin/sdkmanager" --sdk_root="$SDK" --licenses >/dev/null # Feed "y" via process substitution, not a pipe: `yes |` triggers SIGPIPE (exit 141)
# once sdkmanager stops reading, and the step shell runs with `-eo pipefail`.
"$SDK/cmdline-tools/latest/bin/sdkmanager" --sdk_root="$SDK" --licenses >/dev/null < <(yes)
"$SDK/cmdline-tools/latest/bin/sdkmanager" --sdk_root="$SDK" \ "$SDK/cmdline-tools/latest/bin/sdkmanager" --sdk_root="$SDK" \
"platform-tools" "platforms;android-34" "build-tools;34.0.0" >/dev/null "platform-tools" "platforms;android-34" "build-tools;34.0.0" >/dev/null