Update on Rust CI - removing rustc-builds-alt

The rustc-builds-alt directory in rust-lang-ci2 (example url [0]) contains per-commit artifacts of rustc with LLVM assertions enabled (this 'flipped' in 2017 [1]).

These buckets are for temporary artifacts [2] and previously there has been discussion about making it easier to consume arbitrary rustc 'channels' [3] but this has never come to fruition - the alt builds remain almost totally undiscoverable which indicates that it's likely nobody use them (even crater doesn't [4]!).

As a result, the infra team would like to stop producing alt builds (for storage cost and CI time reasons). If you have thoughts on this, we'd love to hear from you :slight_smile:

[0] https://rust-lang-ci2.s3.amazonaws.com/rustc-builds-alt/001bd7762c9fc0d032b502b6a50ad67694c30b2c/miri-nightly-x86_64-unknown-linux-gnu.tar.xz

[1] Disable LLVM assertions on Nightly, enable them in "alt" builds. by SimonSapin · Pull Request #45810 · rust-lang/rust · GitHub

[2] Updates on Rust's CI uploads

[3] https://internals.rust-lang.org/t/disabling-llvm-assertions-in-nightly-builds (pre 'flip')

[4] Switch to using normal, non-alt builds by Mark-Simulacrum · Pull Request #464 · rust-lang/crater · GitHub

Thanks for the heads up. I think this sounds fine. Will existing alt builds remain available?

Even if they don’t, as far as Servo is concerned I think only some pre-2017 commits will fail to build without a patch to make the build system download a non-alt toolchain instead. The alt ones were only used for a time for slightly faster compile times when they had LLVM assertions disabled and Nightly didn’t. I haven’t heard of anyone ever doing automatic bisect of Servo this far back, but if someone ever does they can probably live with needing this patch.

Our disposition is to (eventually) get rid of it all if nobody is using them, but we had been thinking of a sunsetting period for artifacts that already exist.

How long do you think is reasonable additional time to wait? I'm thinking at most end of June, earliest end of Feb...don't have any thoughts other than that (still need to talk about it as an infra team as well)

I think it'd be reasonable to make a big public announcement, turn off new alt builds now, watch the access statistics, delete builds in one month that get zero accesses since now, and wait 6 months to delete alt builds that get any accesses.

I would also suggest giving the Software Heritage Project a heads-up and ask them if they're archiving such builds.

Hmm, the infrastructure was configured to periodically delete CI artifacts since 2017, back then 90 days after upload and today 168 days after upload. The artifacts Servo needs to bootstrap those builds are already long gone.