Skip to content
This repository has been archived by the owner on Oct 13, 2023. It is now read-only.

Add ability to pin rustup version #218

Open
2 of 3 tasks
sffc opened this issue Jul 12, 2022 · 0 comments
Open
2 of 3 tasks

Add ability to pin rustup version #218

sffc opened this issue Jul 12, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@sffc
Copy link

sffc commented Jul 12, 2022

Do the checklist before filing an issue:

Motivation

Generally, the rustup tool is stable across releases. However, the 1.25.0 release broke our GitHub Actions CI (rust-lang/rustup#3029). Since this is CI, any failures get in the critical path of our development workflow, so it's crucial to be able to roll out a fix as soon as possible. Pinning the rustup version to 1.24.3 should have been able to fix this problem, but there does not appear to be an easy way to do this in actions-rs.

Workflow example

      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          rustup-version: 1.24.3

Additional context

I think the change would go here:

public static async install(): Promise<RustUp> {

Currently it always installs from a fixed path:

const rustupSh = await tc.downloadTool('https://sh.rustup.rs');

Instead, we would need to install from a path such as:

https://static.rust-lang.org/rustup/archive/1.24.3/x86_64-unknown-linux-gnu/rustup-init

Additionally, I am unsure of exactly how this works when there are multiple actions-rs steps in the same workflow. If one of them has the rustup version specified, and another has a different or missing rustup version, how do we determine which rustup version to install?

CC @Manishearth @aethanyc @robertbastian

@sffc sffc added the enhancement New feature or request label Jul 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Development

No branches or pull requests

1 participant