build(deps): drop OpenSSL, move TLS stack to rustls#406
Conversation
Some users installing the runner on macOS hit errors about OpenSSL not being installed, because our HTTP stack pulled in native-tls (which links OpenSSL on Linux and complicates static/musl and source builds). Move the whole TLS stack to rustls, removing openssl-sys and native-tls from the dependency tree entirely: - reqwest 0.12 -> 0.13 with explicit rustls (drop native-tls-vendored) - reqwest-middleware 0.4 -> 0.5, reqwest-retry 0.7 -> 0.9 (needed for 0.13) - gql_client fork bumped to reqwest 0.13 + rustls, repointed git rev reqwest 0.13 also defaults to rustls, matching what Astral's uv does. Fixes COD-2857 Co-Authored-By: Claude <noreply@anthropic.com>
Merging this PR will not alter performance
|
Greptile SummaryThis PR migrates the runner's HTTP/TLS stack from
Confidence Score: 5/5Safe to merge. The TLS migration is self-contained to dependency declarations, all features are correctly specified for reqwest 0.13, and the build is verified to pass. The change is purely a dependency upgrade with no application logic changes. Feature flags for reqwest 0.13 are correct ( No files require special attention. Important Files Changed
Reviews (1): Last reviewed commit: "build(deps): drop OpenSSL, move TLS stac..." | Re-trigger Greptile |
Move the runner's HTTP/TLS stack entirely to rustls, removing
openssl-sysandnative-tlsfrom the dependency tree.Some users installing the runner on macOS hit errors about OpenSSL not being installed. The cause is that our HTTP stack pulled in
native-tls, which links OpenSSL on Linux and complicates static (musl) and source builds. Moving to rustls eliminates the OpenSSL dependency on every platform — the same approach Astral's uv takes, and the direction reqwest itself is going (0.13 now defaults to rustls).Changes:
reqwest0.12 → 0.13 with explicitrustls(droppednative-tls-vendored)reqwest-middleware0.4 → 0.5,reqwest-retry0.7 → 0.9 (required for reqwest 0.13)gql_clientfork (CodSpeedHQ/gql-client-rs) bumped from reqwest 0.11/native-tls to 0.13/rustls, with the git rev repointedVerification:
cargo build,cargo test --no-run, andcodspeed --versionall pass.cargo tree -i openssl-sysandcargo tree -i native-tlsboth return no matches (Linux included). The only remainingopenssl-named crate isopenssl-probe, a cert-path env helper pulled by rustls that does not link OpenSSL.Follow-up: the
samplyfork still pulls a secondreqwest 0.12(also rustls, no OpenSSL) — worth bumping later to unify on a single reqwest version.Fixes COD-2857