Skip to content

Add aarch64-linux-android build target with workflow_dispatch for Termux compatibility#2

Merged
wallentx merged 3 commits intodevfrom
copilot/add-aarch64-linux-android-target-again
Feb 9, 2026
Merged

Add aarch64-linux-android build target with workflow_dispatch for Termux compatibility#2
wallentx merged 3 commits intodevfrom
copilot/add-aarch64-linux-android-target-again

Conversation

Copy link
Copy Markdown

Copilot AI commented Feb 9, 2026

Adds aarch64-linux-android build target to produce Termux-compatible Codex CLI binaries for Android devices. Enables manual workflow triggering for testing without creating releases.

Changes

Workflow Trigger

  • Added workflow_dispatch to allow manual builds
  • Made tag-check, shell-tool-mcp, and release jobs conditional (tags only)
  • Build job runs on both tag pushes and manual triggers

Android Build Configuration

  • Target: aarch64-linux-android on ubuntu-24.04
  • NDK 27.0.12077973 auto-installed via sdkmanager
  • API level 21 (Android 5.0+) for maximum Termux device compatibility
  • Environment variables configured:
    • CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER
    • CC_aarch64_linux_androidaarch64-linux-android21-clang
    • AR_aarch64_linux_androidllvm-ar

Conditional Exclusions

Android builds skip incompatible steps:

  • CODEX_BWRAP_ENABLE_FFI=0 (no bubblewrap in Termux)
  • Linux package dependencies (pkg-config, libcap)
  • musl toolchain steps
  • Sigstore code signing

Artifacts

  • Binaries uploaded via actions/upload-artifact@v6
  • Formats: .tar.gz and .zst
  • Available in workflow run summary

Notes

  • Codebase already handles Android via #[cfg(target_os = "android")]
  • Clipboard support gracefully disabled (arboard incompatible)
  • dotslash-config.json unchanged (mobile platform, not desktop tooling)
  • Linker config via environment variables (no .cargo/config.toml changes)

Testing

Manually trigger workflow at Actions tab to build and download artifacts. Test in Termux:

pkg install wget zstd
tar -xzf codex-aarch64-linux-android.tar.gz
chmod +x codex-aarch64-linux-android
./codex-aarch64-linux-android --version
Original prompt

Please fully implement:

  • Add aarch64-linux-android as a build target in .github/workflows/rust-release.yml.
  • Enable workflow_dispatch so the build can be manually triggered.
  • Ensure binaries are available as downloadable artifacts in the Action run summary (via actions/upload-artifact).
  • Add steps to auto-install Android NDK and configure Rust cross-compilation for the new target (CC/AR variables, linker config—either via environment or .cargo/config.toml).
  • Make all necessary conditional logic changes so Android build works correctly and existing musl/bwrap steps don't interfere.
  • Update downstream config files if needed (dotslash-config.json, etc.)
  • Ensure all tasks described in the detailed assessment above are complete; do not skip any discussed steps.

Do not use any previous PR; open a new PR, fully implementing everything above.

This pull request was created from Copilot chat.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits February 9, 2026 20:50
- Add workflow_dispatch to allow manual triggering of the workflow
- Make tag-check job conditional (only runs on tag pushes)
- Make build job run when tag-check succeeds or is skipped
- Make shell-tool-mcp and release jobs conditional (only on tag pushes)
- This allows the workflow to be manually triggered for testing builds

Co-authored-by: wallentx <8990544+wallentx@users.noreply.github.com>
- Change from android34 to android21 for maximum compatibility
- API 21 supports Android 5.0+ and all Termux installations
- Ensures binary works on older Android devices running Termux
- Add comments explaining the API level choice

Co-authored-by: wallentx <8990544+wallentx@users.noreply.github.com>
Copilot AI changed the title [WIP] Add aarch64-linux-android as a build target in workflow Add aarch64-linux-android build target with workflow_dispatch for Termux compatibility Feb 9, 2026
Copilot AI requested a review from wallentx February 9, 2026 20:57
@wallentx wallentx marked this pull request as ready for review February 9, 2026 21:01
@wallentx wallentx merged commit c54f7fb into dev Feb 9, 2026
6 of 30 checks passed
wallentx pushed a commit that referenced this pull request Mar 28, 2026
- Remove numeric prefixes for disabled rows in shared list rendering.
These numbers are shortcuts, Ex: Pressing "2" selects option `#2`.
Disabled items can not be selected, so keeping numbers on these items is
misleading.
- Apply the same behavior in both tui and tui_app_server.
- Update affected snapshots for apps/plugins loading and plugin detail
rows.

_**This is a global change.**_

Before:
<img width="1680" height="488" alt="image"
src="https://github.com/user-attachments/assets/4bcf94ad-285f-48d3-a235-a85b58ee58e2"
/>

After:
<img width="1706" height="484" alt="image"
src="https://github.com/user-attachments/assets/76bb6107-a562-42fe-ae94-29440447ca77"
/>
@wallentx wallentx deleted the copilot/add-aarch64-linux-android-target-again branch April 23, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants