mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-20 20:48:43 +00:00
Fix detect-targets on android targets (#1576)
* Fix detect-targets on android targets By enabling linux fallback on Android. Also add CI regression test for aarch64-linux-android target. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix CI: Add job `detect-targets-android-check` as required for merging Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> --------- Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
d02776c7fc
commit
8befa3d649
2 changed files with 31 additions and 2 deletions
29
.github/workflows/ci.yml
vendored
29
.github/workflows/ci.yml
vendored
|
@ -256,6 +256,34 @@ jobs:
|
||||||
--mount src="$PWD/detect-targets",dst=/detect-targets,type=bind \
|
--mount src="$PWD/detect-targets",dst=/detect-targets,type=bind \
|
||||||
nixos/nix /detect-targets )" = x86_64-unknown-linux-musl ]
|
nixos/nix /detect-targets )" = x86_64-unknown-linux-musl ]
|
||||||
|
|
||||||
|
detect-targets-android-check:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- target: aarch64-linux-android
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
CARGO_BUILD_TARGET: ${{ matrix.target }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Add ${{ matrix.target }}
|
||||||
|
run: rustup target add ${{ matrix.target }}
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
cache-all-crates: true
|
||||||
|
- name: Build detect-targets
|
||||||
|
run: |
|
||||||
|
cargo check --target ${{ matrix.target }}
|
||||||
|
# Set working directory here, otherwise `cargo-check` would download
|
||||||
|
# and build quite a few unused dependencies.
|
||||||
|
working-directory: crates/detect-targets
|
||||||
|
|
||||||
|
|
||||||
# Dummy job to have a stable name for the "all tests pass" requirement
|
# Dummy job to have a stable name for the "all tests pass" requirement
|
||||||
tests-pass:
|
tests-pass:
|
||||||
name: Tests pass
|
name: Tests pass
|
||||||
|
@ -269,6 +297,7 @@ jobs:
|
||||||
- detect-targets-ubuntu-test
|
- detect-targets-ubuntu-test
|
||||||
- detect-targets-more-glibc-test
|
- detect-targets-more-glibc-test
|
||||||
- detect-targets-nix-test
|
- detect-targets-nix-test
|
||||||
|
- detect-targets-android-check
|
||||||
if: always() # always run even if dependencies fail
|
if: always() # always run even if dependencies fail
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
|
@ -11,7 +11,7 @@ use tokio::process::Command;
|
||||||
use tracing::debug;
|
use tracing::debug;
|
||||||
|
|
||||||
cfg_if! {
|
cfg_if! {
|
||||||
if #[cfg(target_os = "linux")] {
|
if #[cfg(any(target_os = "linux", target_os = "android"))] {
|
||||||
mod linux;
|
mod linux;
|
||||||
} else if #[cfg(target_os = "macos")] {
|
} else if #[cfg(target_os = "macos")] {
|
||||||
mod macos;
|
mod macos;
|
||||||
|
@ -53,7 +53,7 @@ pub async fn detect_targets() -> Vec<String> {
|
||||||
let mut targets = vec![target];
|
let mut targets = vec![target];
|
||||||
targets.extend(windows::detect_alternative_targets(&targets[0]));
|
targets.extend(windows::detect_alternative_targets(&targets[0]));
|
||||||
targets
|
targets
|
||||||
} else if #[cfg(target_os = "linux")] {
|
} else if #[cfg(any(target_os = "linux", target_os = "android"))] {
|
||||||
// Linux is a bit special, since the result from `guess_host_triple`
|
// Linux is a bit special, since the result from `guess_host_triple`
|
||||||
// might be wrong about whether glibc or musl is used.
|
// might be wrong about whether glibc or musl is used.
|
||||||
linux::detect_targets(target).await
|
linux::detect_targets(target).await
|
||||||
|
|
Loading…
Add table
Reference in a new issue