Fix CI: uv sync --extra dev; sdkmanager licenses without SIGPIPE
- pytest lives in hermes-agent's dev extra; plain uv sync left the CI venv without it and run_tests.sh refused to run (gateway job) - 'yes | sdkmanager --licenses' dies with SIGPIPE (exit 141) under Gitea's bash -e -o pipefail; feed a finite number of y's from a file instead (kotlin + android jobs)
This commit is contained in:
1 parent
1f182a7e7e
commit
5a69e3927b
2 files changed
+21
-5
No files matched your search
@@ -29,7 +29,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
||||||
cd hermes-agent
|
cd hermes-agent
|
||||||
uv sync
|
# pytest lives in the `dev` extra — a plain `uv sync` leaves the
|
||||||
|
# venv without it and run_tests.sh refuses to run.
|
||||||
|
uv sync --extra dev
|
||||||
|
|
||||||
- name: Run android gateway tests
|
- name: Run android gateway tests
|
||||||
run: |
|
run: |
|
||||||
@@ -62,7 +64,11 @@ jobs:
|
|||||||
https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
||||||
unzip -q /tmp/ct.zip -d "$ANDROID_HOME/cmdline-tools"
|
unzip -q /tmp/ct.zip -d "$ANDROID_HOME/cmdline-tools"
|
||||||
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
||||||
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null
|
# Finite input from a file: `yes | sdkmanager` dies with SIGPIPE
|
||||||
|
# (exit 141) under Gitea's `bash -e -o pipefail` once sdkmanager
|
||||||
|
# exits before `yes` is done writing.
|
||||||
|
for i in $(seq 100); do echo y; done > /tmp/sdk_licenses_yes.txt
|
||||||
|
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses < /tmp/sdk_licenses_yes.txt > /dev/null
|
||||||
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
||||||
echo "sdk.dir=$ANDROID_HOME" > app/local.properties
|
echo "sdk.dir=$ANDROID_HOME" > app/local.properties
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
||||||
cd hermes-agent
|
cd hermes-agent
|
||||||
uv sync
|
# pytest lives in the `dev` extra — a plain `uv sync` leaves the
|
||||||
|
# venv without it and run_tests.sh refuses to run.
|
||||||
|
uv sync --extra dev
|
||||||
|
|
||||||
- name: Run android gateway tests
|
- name: Run android gateway tests
|
||||||
run: |
|
run: |
|
||||||
@@ -63,7 +65,11 @@ jobs:
|
|||||||
https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
||||||
unzip -q /tmp/ct.zip -d "$ANDROID_HOME/cmdline-tools"
|
unzip -q /tmp/ct.zip -d "$ANDROID_HOME/cmdline-tools"
|
||||||
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
||||||
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null
|
# Finite input from a file: `yes | sdkmanager` dies with SIGPIPE
|
||||||
|
# (exit 141) under Gitea's `bash -e -o pipefail` once sdkmanager
|
||||||
|
# exits before `yes` is done writing.
|
||||||
|
for i in $(seq 100); do echo y; done > /tmp/sdk_licenses_yes.txt
|
||||||
|
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses < /tmp/sdk_licenses_yes.txt > /dev/null
|
||||||
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
||||||
echo "sdk.dir=$ANDROID_HOME" > app/local.properties
|
echo "sdk.dir=$ANDROID_HOME" > app/local.properties
|
||||||
|
|
||||||
@@ -94,7 +100,11 @@ jobs:
|
|||||||
https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
||||||
unzip -q /tmp/ct.zip -d "$ANDROID_HOME/cmdline-tools"
|
unzip -q /tmp/ct.zip -d "$ANDROID_HOME/cmdline-tools"
|
||||||
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
||||||
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null
|
# Finite input from a file: `yes | sdkmanager` dies with SIGPIPE
|
||||||
|
# (exit 141) under Gitea's `bash -e -o pipefail` once sdkmanager
|
||||||
|
# exits before `yes` is done writing.
|
||||||
|
for i in $(seq 100); do echo y; done > /tmp/sdk_licenses_yes.txt
|
||||||
|
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses < /tmp/sdk_licenses_yes.txt > /dev/null
|
||||||
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
echo "ANDROID_HOME=$ANDROID_HOME" >> "$GITHUB_ENV"
|
||||||
echo "sdk.dir=$ANDROID_HOME" > app/local.properties
|
echo "sdk.dir=$ANDROID_HOME" > app/local.properties
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user