Description
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
- Set up a new S3 bucket for Rustup artifacts
- Create a new S3 bucket
rustup-builds
- Grant the CI for rust-lang/rustup permissions to upload files to that bucket
- Create a new S3 bucket
- Modify Rustup's CI to upload artifacts to the new bucket
- Test that artifacts are uploaded to the right bucket and location
2. Implement release process in promote-release
3. Purge Fastly cache
4. Cleanup & Followup
- Remove
sync-dist.py
fromrust-lang/rustup
- Stop uploading artifacts from CI to the old bucket
- Create tracking issue to automatically update SHA in
rustup-init.sh
- Create tracking issue to post blog post in Internals forum
- Create tracking issue to tag Git commit automatically
- Discuss making
master
artifacts publicly available (see Meta: Ship builds from themaster
branch as well rustup#3932)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status