diff --git a/.github/workflows/deltachat-rpc-server.yml b/.github/workflows/deltachat-rpc-server.yml index 5477afa4f..e2fe23c97 100644 --- a/.github/workflows/deltachat-rpc-server.yml +++ b/.github/workflows/deltachat-rpc-server.yml @@ -31,6 +31,22 @@ jobs: path: target/x86_64-unknown-linux-musl/release/deltachat-rpc-server if-no-files-found: error + build_aarch64_linux: + name: Cross-compile deltachat-rpc-server for aarch64 Linux + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + + - name: Build + run: sh scripts/aarch64-unknown-linux-musl.sh + + - name: Upload binary + uses: actions/upload-artifact@v3 + with: + name: deltachat-rpc-server + path: target/aarch64-unknown-linux-musl/release/deltachat-rpc-server + if-no-files-found: error + build_windows: name: Build deltachat-rpc-server for Windows strategy: diff --git a/scripts/aarch64-unknown-linux-musl.sh b/scripts/aarch64-unknown-linux-musl.sh new file mode 100755 index 000000000..4e5ed6f09 --- /dev/null +++ b/scripts/aarch64-unknown-linux-musl.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +set -x +set -e + +# Download Zig +rm -fr zig-linux-x86_64-0.10.1 zig-linux-x86_64-0.10.1.tar.xz +wget https://ziglang.org/download/0.10.1/zig-linux-x86_64-0.10.1.tar.xz +tar xf zig-linux-x86_64-0.10.1.tar.xz +export PATH="$PATH:$PWD/zig-linux-x86_64-0.10.1" + +cargo install cargo-zigbuild + +rustup target add aarch64-unknown-linux-musl + +cargo zigbuild --release --target aarch64-unknown-linux-musl -p deltachat-rpc-server --features vendored