You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm setting up a self-hosted CI environment using Buildkite. We had hoped to use the rust-toolchain file to control which toolchain gets used, relying on rustup's cargo wrappers to install and execute the specified toolchain version. However, if two jobs get started at the same time after the toolchain has been changed, this will result in a problem:
error: the 'cargo' binary, normally provided by the 'cargo' component, is not applicable to the '1.65-x86_64-apple-darwin' toolchain
Steps
I'm not entirely sure, but I think this can happen if you execute cargo c concurrently in two different projects while a not yet installed toolchain is specified.
Possible Solution(s)
Some kind of locking in the filesystem to make sure that toolchain installations are atomic would be ideal.
Notes
We might consider fixing this if there is support for this (and potentially some guidance/mentoring on how to implement it).
Rustup version
macpro ~ $ rustup -vVrustup 1.25.1 (bb60b1e89 2022-07-12)info: This is the version for the rustup toolchain manager, not the rustc compiler.info: The currently active `rustc` version is `rustc 1.65.0 (897e37553 2022-11-02)`
Problem
I'm setting up a self-hosted CI environment using Buildkite. We had hoped to use the
rust-toolchain
file to control which toolchain gets used, relying on rustup'scargo
wrappers to install and execute the specified toolchain version. However, if two jobs get started at the same time after the toolchain has been changed, this will result in a problem:Steps
I'm not entirely sure, but I think this can happen if you execute
cargo c
concurrently in two different projects while a not yet installed toolchain is specified.Possible Solution(s)
Some kind of locking in the filesystem to make sure that toolchain installations are atomic would be ideal.
Notes
We might consider fixing this if there is support for this (and potentially some guidance/mentoring on how to implement it).
Rustup version
Installed toolchains
The text was updated successfully, but these errors were encountered: