Skip to content

Commit 478665e

Browse files
committed
ci: use musl.cc aarch64 cross-compiler for musl target
1 parent e7efaac commit 478665e

1 file changed

Lines changed: 21 additions & 15 deletions

File tree

.github/workflows/build-artifacts.yaml

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,43 +12,49 @@ on:
1212

1313
env:
1414
CARGO_TERM_COLOR: always
15-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc
16-
CC_aarch64_unknown_linux_musl: aarch64-linux-gnu-gcc
1715

1816
jobs:
1917
build:
2018
name: Rust project - latest
2119
runs-on: ubuntu-latest
22-
strategy:
23-
matrix:
24-
target:
25-
- aarch64-unknown-linux-musl
2620
steps:
2721
- uses: actions/checkout@v4
2822

2923
- uses: actions-rust-lang/setup-rust-toolchain@v1
3024
with:
31-
target: ${{ matrix.target }}
25+
target: aarch64-unknown-linux-musl
3226

33-
- name: Install cross-compilation dependencies
27+
- name: Install base dependencies
3428
run: |
3529
sudo apt-get update
3630
sudo apt-get install -y --no-install-recommends \
37-
gcc-aarch64-linux-gnu \
38-
musl-tools \
31+
build-essential \
3932
cmake \
40-
nasm \
41-
clang
33+
perl \
34+
pkg-config \
35+
libclang-dev \
36+
musl-tools \
37+
crossbuild-essential-arm64
38+
39+
- name: Install musl.cc aarch64 cross-compiler
40+
run: |
41+
wget -q https://github.com/musl-cc/musl.cc/releases/latest/download/aarch64-linux-musl-cross.tgz
42+
tar xzf aarch64-linux-musl-cross.tgz -C /opt
43+
echo "/opt/aarch64-linux-musl-cross/bin" >> $GITHUB_PATH
4244
4345
- name: Versions
4446
id: version
4547
run: echo "VERSION=$(cargo metadata --format-version 1 --no-deps | jq .packages[0].version -r | sed 's/^/v/')" >> "$GITHUB_OUTPUT"
4648

4749
- name: Build
48-
run: cargo build --release --target ${{ matrix.target }}
50+
env:
51+
CC: aarch64-linux-musl-gcc
52+
CXX: aarch64-linux-musl-g++
53+
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-musl-g++
54+
run: cargo build --release --target aarch64-unknown-linux-musl
4955

5056
- name: Package release
51-
run: tar czf redlib-${{ matrix.target }}.tar.gz -C target/${{ matrix.target }}/release/ redlib
57+
run: tar czf redlib-aarch64-unknown-linux-musl.tar.gz -C target/aarch64-unknown-linux-musl/release/ redlib
5258

5359
- name: Upload release
5460
uses: softprops/action-gh-release@v1
@@ -57,7 +63,7 @@ jobs:
5763
name: ${{ steps.version.outputs.VERSION }} - ${{ github.event.head_commit.message }}
5864
draft: true
5965
files: |
60-
redlib-${{ matrix.target }}.tar.gz
66+
redlib-aarch64-unknown-linux-musl.tar.gz
6167
body: |
6268
- ${{ github.event.head_commit.message }} ${{ github.sha }}
6369
generate_release_notes: true

0 commit comments

Comments
 (0)