When Rustup 1.27.1 was released, we realized that the cache on Fastly wasn't purged. This caused users to still receive the previous version. #415 was created to track fixing this issue, was requires changes to the CDN (see #416) and changes to Rustup's release script (see rust-lang/rustup#3819).
In rust-lang/rustup#3819, we discussed that having the release script in rust-lang/rustup didn't make much sense, since the Rustup team cannot actually run it due to missing AWS permissions. It was suggested that we move the script, but ultimately we decided to explore reimplementing it as part of promote-release. The arguments for this decision are that promote-release is automated, already implements the required functionality to authenticate against AWS, and provides easier opportunities to add safety checks and guardrails to the release process.
Work was started in rust-lang/promote-release#84 to recreate the previous functionality, but some rough edges were discovered. The release process for Rustup is different enough from what promote-release is doing now that the implementation ended up being quite hacky. This led us to design a new release process for Rustup, whose implementation is being tracked in this issue.
Tasks
1. Refactor how artifacts are published
2. Implement release process in promote-release
3. Purge Fastly cache
4. Cleanup & Followup
When Rustup 1.27.1 was released, we realized that the cache on Fastly wasn't purged. This caused users to still receive the previous version. #415 was created to track fixing this issue, was requires changes to the CDN (see #416) and changes to Rustup's release script (see rust-lang/rustup#3819).
In rust-lang/rustup#3819, we discussed that having the release script in
rust-lang/rustupdidn't make much sense, since the Rustup team cannot actually run it due to missing AWS permissions. It was suggested that we move the script, but ultimately we decided to explore reimplementing it as part of promote-release. The arguments for this decision are thatpromote-releaseis automated, already implements the required functionality to authenticate against AWS, and provides easier opportunities to add safety checks and guardrails to the release process.Work was started in rust-lang/promote-release#84 to recreate the previous functionality, but some rough edges were discovered. The release process for Rustup is different enough from what
promote-releaseis doing now that the implementation ended up being quite hacky. This led us to design a new release process for Rustup, whose implementation is being tracked in this issue.Tasks
1. Refactor how artifacts are published
rustup-builds2. Implement release process in
promote-releaset-releasestart-releaseLambda function to support new command (maybe this is not necessary)t-rustuppermissions to callstart-releaseLambda3. Purge Fastly cache
4. Cleanup & Followup
sync-dist.pyfromrust-lang/rustuprust-lang/rustup's CI to the old bucketrustup-init.shrust-lang/rustupmasterartifacts publicly available (see Meta: Ship builds from themasterbranch as well rustup#3932)