Skip to content

IronCoreLabs/rust-toolchain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Install Rust Toolchain

This GitHub Action installs a Rust toolchain using rustup. It is designed for one-line concise usage and good defaults.

Example workflow

name: test suite
on: [push, pull_request]

jobs:
  test:
    name: cargo test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: IronCoreLabs/rust-toolchain@v1
      - run: cargo test --all-features

Toolchain File

The Rust toolchain file is supported. If present it will be used to populate toolchain, components and targets parameters. If those parameters are explicitly set as inputs to the action, they will take precedence over the values in the toolchain file. To use only the toolchain file for parameters, pass no inputs and set the @rev to @v1.

Inputs

All inputs are optional.

Name Description
toolchain Rustup toolchain specifier e.g. stable, nightly, 1.42.0, nightly-2022-01-01. Defaults to stable if not passed or in the rust-toolchain.toml.
targets Comma-separated string of additional targets to install e.g. wasm32-unknown-unknown
components Comma-separated string of additional components to install e.g. clippy, rustfmt

Outputs

Name Description
toolchain Rustup's name for the selected version of the toolchain. "1.62.0"
cachekey A short hash of the rustc version, appropriate for use as a cache key. ex "20220627a831"

Outputs

Name Description
cachekey A short hash of the installed rustc version, appropriate for use as a cache key. "20220627a831"
name Rustup's name for the selected version of the toolchain, like "1.62.0". Suitable for use with cargo +${{steps.toolchain.outputs.name}}.

Outputs

Name Description
cachekey A short hash of the installed rustc version, appropriate for use as a cache key. "20220627a831"
name Rustup's name for the selected version of the toolchain, like "1.62.0". Suitable for use with cargo +${{steps.toolchain.outputs.name}}.

Toolchain expressions

The following forms are available for projects that use a sliding window of compiler support.

     # Installs the most recent stable toolchain as of the specified time
     # offset, which may be written in years, months, weeks, or days.
  - uses: IronCoreLabs/rust-toolchain@v1
    with:
      toolchain: stable 18 months ago
     # Installs the stable toolchain which preceded the most recent one by
     # the specified number of minor versions.
  - uses: IronCoreLabs/rust-toolchain@v1
    with:
      toolchain: stable minus 8 releases

License

The scripts and documentation in this project are released under the MIT License.

About

Concise GitHub Action for installing a Rust toolchain

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors