diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 106f81c..84413d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,8 +19,8 @@ jobs: include: - target: x86_64-unknown-linux-gnu os: ubuntu-latest - # - target: x86_64-unknown-linux-musl - # os: ubuntu-latest + - target: x86_64-unknown-linux-musl + os: ubuntu-latest - target: x86_64-apple-darwin os: macos-latest - target: x86_64-pc-windows-msvc @@ -56,20 +56,20 @@ jobs: pnpm install pnpm run build - # - name: Install musl-tools (Linux musl only) - # if: matrix.target == 'x86_64-unknown-linux-musl' - # run: sudo apt-get update && sudo apt-get install -y musl-tools - + - name: Install musl-tools (Linux musl only) + if: matrix.target == 'x86_64-unknown-linux-musl' + run: sudo apt-get update && sudo apt-get install -y musl-tools + - name: Build aarch64 Rust backend if: matrix.target == 'aarch64-unknown-linux-gnu' run: | cargo install cross --force - cross build --release --target=${{ matrix.target }} + cross build --release --features vendored-openssl --target=${{ matrix.target }} - name: Build Rust backend if: matrix.target != 'aarch64-unknown-linux-gnu' run: | - cargo build --release --target=${{ matrix.target }} + cargo build --release --features vendored-openssl --target=${{ matrix.target }} - name: Strip binary (Linux and macOS) if: matrix.os != 'windows-latest' && matrix.target != 'aarch64-unknown-linux-gnu' diff --git a/Cargo.lock b/Cargo.lock index b739c7a..b67028a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -456,6 +456,7 @@ dependencies = [ "native_model", "num_cpus", "oauth2", + "openssl-sys", "poem", "poem-derive", "poem-openapi", @@ -2684,6 +2685,15 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +[[package]] +name = "openssl-src" +version = "300.5.4+3.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72" +dependencies = [ + "cc", +] + [[package]] name = "openssl-sys" version = "0.9.111" @@ -2692,6 +2702,7 @@ checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", + "openssl-src", "pkg-config", "vcpkg", ] diff --git a/Cargo.toml b/Cargo.toml index c225abf..82f3a9a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ path = "src/main.rs" [features] default = [] -#vendored-openssl = ["openssl-sys"] +vendored-openssl = ["openssl-sys"] [profile.release] strip = true @@ -102,7 +102,7 @@ autoconfig = "0.4.0" urlencoding = "2.1.3" dashmap = "6.1.0" # Statically links OpenSSL by compiling from source, avoiding system library dependencies -#openssl-sys = { version = "0.9.111", optional = true, features = ["vendored"] } +openssl-sys = { version = "0.9.111", optional = true, features = ["vendored"] } gethostname = "1.1.0" tantivy = { version = "0.25.0", features = ["quickwit", "zstd-compression"] } itoa = "1.0.15"