Skip to content

Commit fd42c54

Browse files
sbernauerTechassi
andauthored
feat: Build aarch64 binary for Linux (#232)
* feat: Ship aarch64 build for linux * trigger job * trigger ci * faster CI * Install go * Add to release job * Revert temp changes * trigger ci * trigger ci * Try to build without "Install host dependencies", as this fails Fails with Run sudo apt-get update Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B] Get:6 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease Err:6 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) Hit:2 http://azure.archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB] Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB] Get:5 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB] Get:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1610 kB] Get:8 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [303 kB] Get:9 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1830 kB] Get:10 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [311 kB] Get:11 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1070 kB] Get:12 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [244 kB] Get:13 http://azure.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [27.2 kB] Get:14 http://azure.archive.ubuntu.com/ubuntu jammy-backports/universe Translation-en [16.2 kB] Hit:15 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease Get:16 http://azure.archive.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1392 kB] Get:17 http://azure.archive.ubuntu.com/ubuntu jammy-security/main Translation-en [243 kB] Get:18 http://azure.archive.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1768 kB] Get:19 http://azure.archive.ubuntu.com/ubuntu jammy-security/restricted Translation-en [299 kB] Get:20 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [848 kB] Get:21 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe Translation-en [163 kB] Reading package lists... E: Failed to fetch https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) E: The repository 'https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease' is no longer signed. Error: Process completed with exit code 100. * Use fixed hash for action * fixup * trigger ci * yolo * Update .github/actionlint.yaml Co-authored-by: Techassi <git@techassi.dev> --------- Co-authored-by: Techassi <git@techassi.dev>
1 parent 7e0d1ce commit fd42c54

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

.github/actionlint.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
self-hosted-runner:
3+
# BuildJet machines we are using
4+
labels:
5+
- buildjet-2vcpu-ubuntu-2204-arm
6+
- buildjet-4vcpu-ubuntu-2204-arm

.github/workflows/pr_general.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ jobs:
1919
env:
2020
RUSTC_BOOTSTRAP: 1
2121
steps:
22-
- name: Install host dependencies
23-
run: |
24-
sudo apt-get update
25-
sudo apt-get install protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config
2622
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
2723
with:
2824
submodules: recursive

.github/workflows/pr_stackablectl.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ jobs:
4343
include:
4444
- target: x86_64-unknown-linux-gnu
4545
os: ubuntu-latest
46+
- target: aarch64-unknown-linux-gnu
47+
os: buildjet-4vcpu-ubuntu-2204-arm
4648
- target: x86_64-apple-darwin
4749
os: macos-latest
4850
- target: aarch64-apple-darwin
@@ -58,6 +60,10 @@ jobs:
5860
toolchain: ${{ env.RUST_VERSION }}
5961
targets: ${{ matrix.target }}
6062

63+
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5
64+
with:
65+
go-version: '^1.22.2'
66+
6167
- uses: Swatinem/rust-cache@359a70e43a0bb8a13953b04a90f76428b4959bb6 # v2.2.0
6268
with:
6369
key: build-stackablectl-${{ matrix.target }}

.github/workflows/release_stackablectl.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
- target: x86_64-unknown-linux-gnu
2727
os: ubuntu-20.04 # We don't use ubuntu-latest because we want to build against an old glibc version. (18.04 has glibc 2.27, 20.04 has glibc 2.31, 22.04 has glibc 2.35)
2828
file-suffix: ""
29+
- target: aarch64-unknown-linux-gnu
30+
os: buildjet-4vcpu-ubuntu-2204-arm # The ARM runners only support Ubuntu 22.04, so we can't pick 20.04
31+
file-suffix: ""
2932
- target: x86_64-apple-darwin
3033
os: macos-latest
3134
file-suffix: ""
@@ -43,6 +46,10 @@ jobs:
4346
toolchain: ${{ env.RUST_VERSION }}
4447
targets: ${{ matrix.target }}
4548

49+
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5
50+
with:
51+
go-version: '^1.22.2'
52+
4653
- name: Build Binary
4754
if: matrix.os != 'windows-latest'
4855
run: cargo build --target ${{ matrix.target }} --release --package stackablectl

0 commit comments

Comments
 (0)