fix(stm): stop forcing rustls in the future_snark feature - #3439
fix(stm): stop forcing rustls in the future_snark feature#3439jpraynaud wants to merge 3 commits into
rustls in the future_snark feature#3439Conversation
The TLS backend of the SRS download is now selected by the callers, which makes the native-tls feature usable.
There was a problem hiding this comment.
Pull request overview
This PR removes the implicit selection of the rustls TLS backend when enabling mithril-stm’s future_snark feature, and pushes TLS-backend selection to downstream crates by introducing/forwarding explicit native-tls / rustls feature flags across the workspace. It also updates documentation and CI commands so builds explicitly choose a TLS backend when SNARK circuits require HTTPS SRS downloads.
Changes:
- Removed the forced
rustlsactivation frommithril-stm’sfuture_snarkfeature, making TLS backend selection an explicit downstream choice. - Added/forwarded
native-tlsandrustlsfeatures throughmithril-commonandmithril-client, and selectedrustlsin several top-level crates. - Updated README/runbook/docs and the
future_snarkCI job to pass an explicit TLS backend feature.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| mithril-test-lab/mithril-end-to-end/Cargo.toml | Selects mithril-common/rustls when the crate’s rustls feature is enabled. |
| mithril-stm/src/circuits/halo2_ivc/tests/assets/README.md | Updates asset-generation test commands to explicitly enable rustls with future_snark. |
| mithril-stm/README.md | Documents the need to select a TLS backend (rustls/native-tls) when using future_snark; updates bench commands accordingly. |
| mithril-stm/CHANGELOG.md | Adds a changelog entry describing the TLS backend selection change. |
| mithril-stm/Cargo.toml | Removes forced rustls from future_snark feature set. |
| mithril-stm/benches/README.md | Updates benchmark invocation examples to explicitly enable a TLS backend. |
| mithril-signer/Cargo.toml | Wires rustls feature through mithril-common in addition to reqwest. |
| mithril-relay/Cargo.toml | Wires rustls feature through mithril-common in addition to reqwest. |
| mithril-common/Cargo.toml | Introduces native-tls and rustls features that forward to mithril-stm. |
| mithril-client/Cargo.toml | Forwards TLS backend features to mithril-common while preserving the reqwest TLS variants for the client itself. |
| mithril-aggregator/Cargo.toml | Wires rustls feature through mithril-common in addition to reqwest. |
| docs/runbook/update-circuit-keys/README.md | Updates runbook commands to explicitly enable rustls with future_snark. |
| demo/protocol-demo/Cargo.toml | Adds a default rustls feature so the demo selects a TLS backend when using SNARK-related functionality. |
| .github/workflows/test-rust.yml | Updates the future_snark CI job to pass --features future_snark,rustls. |
Test Results 5 files ± 0 209 suites ±0 1h 24m 31s ⏱️ - 1h 47m 19s Results for commit 64c1b07. ± Comparison against base commit bc9d8c1. This pull request removes 52 tests. |
damrobi
left a comment
There was a problem hiding this comment.
LGTM 👍
Just the changelog to update if necessary
Content
This PR includes the removal of the forced
rustlsactivation in thefuture_snarkfeature ofmithril-stm, so the TLS backend of the SRS download is selected by the callers:rustlsfrom thefuture_snarkfeature list ofmithril-stm, which makes itsnative-tlsfeature usable and activates the existing compile time guard that fails the build when no TLS backend is selected.native-tlsandrustlsfeatures tomithril-common, forwarding to the matching features ofmithril-stm.mithril-clienttomithril-common, eachnative-tlsvariant tonative-tlsandrustls-no-providertorustls.rustlsfeature of themithril-signer,mithril-aggregator,mithril-relayandmithril-end-to-endcrates.rustlsdefault feature to the protocol demo, which depends onmithril-stmdirectly and had no TLS feature.mithril-stmcommands of the READMEs, of the circuit keys runbook and of thefuture_snarkCI test job to select a TLS backend explicitly.Pre-submit checklist
Issue(s)
Closes #3423