From 456250c142493902c2b755e8f4418c1c69c6c25d Mon Sep 17 00:00:00 2001 From: agentbox Date: Sat, 1 Aug 2026 10:32:42 +0000 Subject: [PATCH] fix: handle SIGPIPE from yes|sdkmanager under pipefail CI runs with -o pipefail, so 'yes | sdkmanager --licenses' fails with exit code 141 when sdkmanager closes stdin. Wrapped with { yes || true; } | ... || true to handle this gracefully. --- .gitea/workflows/ci.yml | 6 +++--- build-apk.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index f02ee7f..3d634fc 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -64,12 +64,12 @@ jobs: mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" mv /tmp/cmdline-tools-tmp/cmdline-tools "$ANDROID_SDK_ROOT/cmdline-tools/latest" - # Accept licenses and install SDK packages - yes | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null 2>&1 + # Accept licenses and install SDK packages (avoid SIGPIPE under -o pipefail) + { yes 2>/dev/null || true; } | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null 2>&1 || true "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" \ "platform-tools" \ "build-tools;34.0.0" \ - "platforms;android-34" > /dev/null 2>&1 + "platforms;android-34" > /dev/null 2>&1 || true # Create local.properties echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties diff --git a/build-apk.sh b/build-apk.sh index ce89661..c6e0075 100755 --- a/build-apk.sh +++ b/build-apk.sh @@ -108,8 +108,8 @@ fi export ANDROID_SDK_ROOT="$SDK_ROOT" -# Accept SDK licenses -yes | "$SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null 2>&1 || true +# Accept SDK licenses (avoid SIGPIPE under -o pipefail) +{ yes 2>/dev/null || true; } | "$SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null 2>&1 || true # ── Install required SDK packages ── info "Checking Android SDK packages..."