does oniomasq have a MSRV and should we enforce it in CI
latest onionmasq failed to build for me citing I needed rust 1.90, traced to !603 (merged) from last week where we did a general "cargo update" which among other things updated typed-index-collections from 3.3.0 to 3.4.0 which is (at least the first) package now requiring rust 1.90.
Arti has a Minimum Supported Rust Version (MSRV) of 1.86 as stated in their README so I'm wondering if we see a need for onionmasq to follow that.
I do note it appears arti enforces this in their pipeline with a job
minimal-versions:
stage: test
# Using "amd64/" single-arch variant to work around https://gitlab.torproject.org/tpo/tpa/team/-/issues/41621.
image: docker.io/amd64/rust:1.86
needs: []
script:
- rustup install nightly
- ./maint/downgrade-dependencies
- cargo test --target x86_64-unknown-linux-gnu --all-features
So what do folks think, is there reason for onionmasq to follow arti on this, because there is work either way:
- if we want to keep the arti 1.86 MSRV: we need to attempt to downgrade at least one package. and we might want to add a new job to help enforce that in the pipelines
- Note: all our tooling has been building to 1.87 since before 1.0.0 so 1.86 might be more work and less viable, it's not something we tested against in over half a year so more updates to packages and coding to those APIs may make 1.86 less viable for onionmasq, the middle ground is we stick with 1.87 which we've supported since before 1.0.0 until arti updates.
- if we keep the 1.90 requirement: I need to know to start upgrading build scripts in onionmasq and vpn and fdroid that are on rust 1.87 as per what was supported in our 1.4.0 release.
Edited by Dan Ballard