Fix Android SDK license step under pipefail#3
Merged
Conversation
DioNanos
added a commit
that referenced
this pull request
May 27, 2026
…t (Termux/Android arm64-musl) bug #1 (cross-fork P0): codex remote-control fails on Termux with "lock() not supported". Five-callsite Iter 1 fix because the codex-termux release line is aarch64-unknown-linux-musl (so cfg!(target_os = "android") gates are inactive on the affected binary): - app-server-transport/src/transport/unix_socket.rs: acquire_app_server_startup_lock tolerates ErrorKind::Unsupported on file.lock(); production retry serialization preserved on Linux/Mac. - core/src/installation_id.rs: replaced installation_id_lock_is_optional (gated cfg!(target_os = "android"), inactive on musl-linux release) with is_unsupported_file_lock_error (kind-based, runtime detection). - message-history/src/lib.rs: try_lock() and try_lock_shared() callsites proceed without advisory locking on Unsupported; O_APPEND + sub-PIPE_BUF atomic writes keep lines intact. - arg0/src/lib.rs: replace cfg!(target_os = "android") gate on two try_lock callsites (path-entry guard + try_lock_dir). - execpolicy/src/amend.rs: append_locked_line tolerates Unsupported lock; dedup check at file scan reduces (but does not eliminate) the chance of duplicate appends on lockless filesystems. - is_unsupported_file_lock_error helper + 2 unit tests added per crate. bug #3 (cross-fork P1, GitHub issue #10 J3y0r): MCP servers spawned via npx fail on Termux with "handshaking with MCP server failed: connection closed: initialize response". rmcp-client/src/utils.rs: create_env_for_mcp_server chains TERMUX_ENV_VARS (PREFIX, LD_PRELOAD, NPM_CONFIG_PREFIX, ANDROID_*, XDG_*) when running_on_termux() detects TERMUX_VERSION env var. Runtime detection because the Termux release line is musl-linux. Empty allowlist on non-Unix targets to keep the cross-target name resolution consistent. 2 new unit tests (propagate + no-leak). flaky test (cross-fork): transport::remote_control::tests:: remote_control_waits_for_account_id_before_enrolling timeout raised from 100ms to 950ms (below the 1s REMOTE_CONTROL_ACCOUNT_ID_RETRY_INTERVAL) to remove the residual flake rate observed under CPU pressure on the Termux release line. 25/25 PASS isolated post-fix. Cargo.lock workspace version bump 0.133.1 -> 0.134.1 is auto-managed by cargo during the develop checkout; included to keep the lock consistent. Tests: 78 lib tests PASS across the affected crates. Test coverage added (10+ new unit tests across the modified crates).
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.
Prevents the Android NDK setup step from failing when
sdkmanager --licensescloses theyespipe underset -o pipefail.