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

Add ability to pin rustup version #218

Open
@sffc

Description

@sffc

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions