Open jdno opened 5 months ago
The following features still need to be implemented:
rustup
release process (similar to run.sh
for releases)One approach might be to refactor the interface for this tool and turn it into a CLI with clap. That way, each command can have its own configuration and parameters. We can still get the arguments from the environment, but it would be much clearer what configuration is needed by each command.
One approach might be to refactor the interface for this tool and turn it into a CLI with clap. That way, each command can have its own configuration and parameters. We can still get the arguments from the environment, but it would be much clearer what configuration is needed by each command.
I'm not sure CLI arguments really make any strong difference there? Whether it's environment variables or flags shouldn't really matter - we can add a common prefix if we want, but the two feel very similar to me. (Modulo --help but that is useful more to humans and it's not intended that humans are running this stuff).
@Mark-Simulacrum @pietroalbini Thanks for the feedback! I've drafted a new release process with the suggested changes in https://github.com/rust-lang/rustup/pull/3844. If that makes sense I'm gonna implement the changes here.
I've made https://github.com/rust-lang/rustup/issues/3932 so that we can share our notes on how to improve Rustup's release process.
Currently beta
and stable
releases are available, but I think master
builds would be interesting as well for dogfooding and/or quickly verifying recent fixes.
New versions of
rustup
are currently released manually by running thesync-dist.py
script in the rust-lang/rustup repository multiple times. This process should be automated so that it reproducible and less error-prone. We also want to add more sanity checks in the future, which are more convenient to implement in Rust rather than in Python.In https://github.com/rust-lang/rustup/pull/3819, we discussed reimplementing the script as part of
promote-release
. This pull request makes a first attempt at migrating the existing functionality into this repository.