diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0410a95..967f297 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,6 +73,12 @@ jobs: - name: x86_64-linux runs_on: ubuntu-24.04 target: x86_64-unknown-linux-gnu + - name: aarch64-linux + runs_on: ubuntu-24.04 + target: aarch64-unknown-linux-gnu + features: openssl/vendored + install_deps: | + sudo apt-get install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu - name: x86_64-macos runs_on: macos-14 target: x86_64-apple-darwin @@ -83,19 +89,28 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + - name: Install dependencies + if: matrix.platform.install_deps + run: ${{ matrix.platform.install_deps }} - name: Install Rust targets run: rustup target add "$TARGET" env: TARGET: ${{ matrix.platform.target }} - name: Build Brioche run: | - cargo build \ - --all \ - --bin brioche \ - --release \ - --target="$TARGET" + extra_args=() + if [ -n "$FEATURES" ]; then + extra_args+=(--features "$FEATURES") + fi + cargo build \ + --all \ + --bin brioche \ + --release \ + --target="$TARGET" \ + "${extra_args[@]}" env: TARGET: ${{ matrix.platform.target }} + FEATURES: ${{ matrix.platform.features }} - name: Prepare artifact run: | mkdir -p "artifacts/brioche/$PLATFORM/" diff --git a/Cargo.lock b/Cargo.lock index ac7f0f7..c226687 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -817,6 +817,7 @@ dependencies = [ "futures", "hex", "notify", + "openssl", "reqwest", "serde", "serde_json", diff --git a/crates/brioche/Cargo.toml b/crates/brioche/Cargo.toml index 503a887..3981bb4 100644 --- a/crates/brioche/Cargo.toml +++ b/crates/brioche/Cargo.toml @@ -12,6 +12,7 @@ clap = { version = "4.5.21", features = ["derive"] } futures = "0.3.31" hex = "0.4.3" notify = "7.0.0" +openssl = { version = "0.10.68", optional = true } reqwest = { version = "0.12.9", default-features = false, features = ["rustls-tls", "zstd", "json"] } serde = { version = "1.0.215", features = ["derive"] } serde_json = "1.0.133"