Skip to content

Commit 2ba4036

Browse files
committed
Add pre-built ppc64le and aarch64 linux binaries
1 parent c85b7eb commit 2ba4036

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

.github/workflows/deploy.yml

+27-9
Original file line numberDiff line numberDiff line change
@@ -59,42 +59,60 @@ jobs:
5959
path: cargo-c-windows-${{ matrix.conf }}.zip
6060

6161
linux-binaries:
62+
strategy:
63+
matrix:
64+
target:
65+
- x86_64-unknown-linux-musl
66+
- powerpc64le-unknown-linux-gnu
67+
- aarch64-unknown-linux-gnu
68+
include:
69+
- target: x86_64-unknown-linux-musl
70+
sdk: musl-tools
71+
cc: musl-gcc
72+
- target: powerpc64le-unknown-linux-gnu
73+
sdk: crossbuild-essential-ppc64el
74+
cc: powerpc64le-linux-gnu-gcc
75+
- target: aarch64-unknown-linux-gnu
76+
sdk: crossbuild-essential-arm64
77+
cc: aarch64-linux-gnu-gcc
6278

6379
runs-on: ubuntu-latest
6480

6581
steps:
6682
- uses: actions/checkout@v2
6783

68-
- name: Install musl-tools
84+
- name: Install $${{ matrix.sdk }}
6985
run: |
70-
sudo apt-get install musl-tools
86+
sudo apt-get install ${{ matrix.sdk }}
7187
72-
- name: Install Rust stable and musl target
88+
- name: Install Rust toolchain
7389
uses: dtolnay/rust-toolchain@stable
7490
with:
7591
profile: minimal
7692
toolchain: stable
77-
target: x86_64-unknown-linux-musl
93+
target: ${{ matrix.target }}
7894
override: true
7995

8096
- name: Build cargo-c
8197
run: |
82-
cargo build --target x86_64-unknown-linux-musl --release --features vendored-openssl
98+
mkdir .cargo
99+
echo -e "[target.${{ matrix.target }}]\nlinker=\"${{ matrix.cc }}\"" > .cargo/config
100+
cargo build --target ${{ matrix.target }} --release --features vendored-openssl
83101
84102
- name: Create zip
85103
run: |
86-
cd target/x86_64-unknown-linux-musl/release
104+
cd target/${{ matrix.target }}/release
87105
strip cargo-capi cargo-cbuild cargo-cinstall
88-
tar -czvf $GITHUB_WORKSPACE/cargo-c-linux.tar.gz \
106+
tar -czvf $GITHUB_WORKSPACE/cargo-c-${{ matrix.target }}.tar.gz \
89107
cargo-capi \
90108
cargo-cbuild \
91109
cargo-cinstall
92110
93111
- name: Upload binaries
94112
uses: actions/upload-artifact@v2
95113
with:
96-
name: cargo-c-linux-binaries
97-
path: cargo-c-linux.tar.gz
114+
name: cargo-c-${{ matrix.target }}-binaries
115+
path: cargo-c-${{ matrix.target }}.tar.gz
98116

99117
macos-binaries:
100118

0 commit comments

Comments
 (0)