Skip to content

Tracking issue: Refactor release process for Rustup #420

Open
@jdno

Description

@jdno

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
  • 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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions