Rustup needs your help (testing, part two)

We're looking at closing off a couple of major papercuts in the 1.20.0 release of rustup. This is the second in an as-yet unknown number of requests for people to please try something out and let us know what they think before we release it and thus have potentially sub-optimal UX which people automate around and therefore we end up having to support.


This afternoon we merged a patch which specialises the behaviour of rustup update when applied to the nightly channel. This patch makes it so that rustup update will search backwards in time, starting at the current nightly and going back in time until it either encounters a date on which all the components you have installed are available, or it encounters the version you currently have installed.

This is a feature which several people have asked for over time, and we want to ensure that it feels right.

At this point, we really need your help to try this out. Currently we're going to ship this feature in version 1.20.0 and we'll do that just as soon as we're confident it has no hidden gotchas (assuming nothing else unusual is only just merged to master).

If you're interested in giving this a go, then you will have to compile rustup for yourself unless you use Windows in which case it is possible to find artifacts via our CI on Appveyor. If you're wanting to test rustup for yourself then I recommend acquiring the git repository and then installing it as follows:

$ git clone https://github.com/rust-lang/rustup.rs
$ cd rustup.rs
$ cargo +stable run --features vendored-openssl -- --no-modify-path -y

If you use Windows, drop the --features vendored-openssl as that's a UNIXy thing only really.

Once that completes, your rustup installation should be updated, and you can check that with rustup --version which will report something like: rustup 1.19.0+14 (bca2352e9 2019-09-17).

At this point, the only thing you can try is to rustup update nightly assuming you already have that channel installed. If not, then the best thing you can do is to install nightly now, perhaps add some components which sometimes are not available such as clippy or rustfmt (I don't know if they're currently available anyway), and then each day for the next week, try and update the channel.

You'll see messages like:

info: skipping nightly which is missing installed component 'rls-preview'

If the feature is working as intended, as it walks backwards you will see these messages and a decrementing date until it finds a suitable nightly at which point it will install your update. For example, when I tried it, it finally managed to find a nightly to update me to which was dated the 12th of this month.

If you encounter any issues / UX bogons, please file issues on github so that we can consider if we need to fix them before 1.20.0 comes out.

Thank you for any help you can provide at this time. If you want to revert your rustup installation once you're done trying out this, just rerun the installation instructions from https://rustup.rs/ and you'll be golden.

While I will try and look at this thread, the best way to get your feedback noticed is to file good/useful issues as previously discussed, on our github.

5 Likes