Skip to content

Commit

Permalink
feat: Add aarch64-unknown-linux-musl build target
Browse files Browse the repository at this point in the history
  • Loading branch information
hustcer committed Sep 3, 2024
1 parent 7083223 commit 57295a6
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 36 deletions.
18 changes: 17 additions & 1 deletion .github/workflows/release-pkg.nu
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,22 @@ if $os in ['macos-latest'] or $USE_UBUNTU {
$env.CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER = 'arm-linux-gnueabihf-gcc'
cargo-build-nu
}
# 'aarch64-unknown-linux-musl' => {
# sudo apt-get install musl-tools musl-dev libc6-arm64-cross libc6-dev-arm64-cross gcc-aarch64-linux-gnu -y
# $env.CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER = 'aarch64-linux-gnu-gcc'
# cargo-build-nu
# }
'aarch64-unknown-linux-musl' => {
sudo apt-get install musl-tools musl-dev libc6-arm64-cross libc6-dev-arm64-cross -y
let pwd = ($env.PWD)
cd ~
curl -LO https://musl.cc/aarch64-linux-musl-cross.tgz
tar -xf aarch64-linux-musl-cross.tgz
cd $pwd
$env.PATH = ($env.PATH | split row (char esep) | prepend $'($env.HOME)/aarch64-linux-musl-cross/bin')
$env.CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER = 'aarch64-linux-musl-gcc'
cargo-build-nu
}
_ => {
# musl-tools to fix 'Failed to find tool. Is `musl-gcc` installed?'
# Actually just for x86_64-unknown-linux-musl target
Expand Down Expand Up @@ -203,7 +219,7 @@ def 'cargo-build-nu' [] {
if $os == 'windows-latest' {
cargo build --release --all --target $target
} else {
cargo build --release --all --target $target --features=static-link-openssl
RUSTFLAGS="-Ctarget-feature=+crt-static" cargo build --release --all --target $target --features=static-link-openssl
}
}

Expand Down
73 changes: 38 additions & 35 deletions .github/workflows/release-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,43 +23,46 @@ jobs:
fail-fast: false
matrix:
target:
- aarch64-apple-darwin
- x86_64-apple-darwin
- x86_64-pc-windows-msvc
- aarch64-pc-windows-msvc
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- aarch64-unknown-linux-gnu
- armv7-unknown-linux-gnueabihf
- riscv64gc-unknown-linux-gnu
# - aarch64-apple-darwin
# - x86_64-apple-darwin
# - x86_64-pc-windows-msvc
# - aarch64-pc-windows-msvc
# - x86_64-unknown-linux-gnu
# - x86_64-unknown-linux-musl
# - aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
# - armv7-unknown-linux-gnueabihf
# - riscv64gc-unknown-linux-gnu
extra: ['bin']
include:
- target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-msvc
extra: 'bin'
os: windows-latest
- target: x86_64-pc-windows-msvc
extra: msi
os: windows-latest
- target: aarch64-pc-windows-msvc
extra: 'bin'
os: windows-latest
- target: aarch64-pc-windows-msvc
extra: msi
os: windows-latest
- target: x86_64-unknown-linux-gnu
os: ubuntu-22.04
- target: x86_64-unknown-linux-musl
os: ubuntu-22.04
- target: aarch64-unknown-linux-gnu
os: ubuntu-22.04
- target: armv7-unknown-linux-gnueabihf
os: ubuntu-22.04
- target: riscv64gc-unknown-linux-gnu
os: ubuntu-latest
# - target: aarch64-apple-darwin
# os: macos-latest
# - target: x86_64-apple-darwin
# os: macos-latest
# - target: x86_64-pc-windows-msvc
# extra: 'bin'
# os: windows-latest
# - target: x86_64-pc-windows-msvc
# extra: msi
# os: windows-latest
# - target: aarch64-pc-windows-msvc
# extra: 'bin'
# os: windows-latest
# - target: aarch64-pc-windows-msvc
# extra: msi
# os: windows-latest
# - target: x86_64-unknown-linux-gnu
# os: ubuntu-22.04
# - target: x86_64-unknown-linux-musl
# os: ubuntu-22.04
# - target: aarch64-unknown-linux-gnu
# os: ubuntu-22.04
- target: aarch64-unknown-linux-musl
os: ubuntu-22.04
# - target: armv7-unknown-linux-gnueabihf
# os: ubuntu-22.04
# - target: riscv64gc-unknown-linux-gnu
# os: ubuntu-latest

runs-on: ${{matrix.os}}

Expand Down

0 comments on commit 57295a6

Please sign in to comment.