Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rust: Don't be so picky about toolchains #18840

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

chrysn
Copy link
Member

@chrysn chrysn commented Nov 3, 2022

Contribution description

So far, we've forced the Rust version to be used quite a bit. Now that we'll only have stable Rust in docker anyway and won't have breaking changes from Rust any more, we can relax this a bit.

The current changes in this PR simplify the documented installation steps and relax the choice of which Rust toolchain is used for building examples.

Open questions

  • Do we want to go even further, remove all the CARGO_CHANNEL infrastructure and rely purely on Rust mechanisms (rustup toolchain default / rustup toolchain override / rust-toolchain.toml / RUSTUP_TOOLCHAIN=) for selecting the toolchani?

    I'm leaning towards "yes"; we can do that now, so why insist on own stuff when we don't need to any more.

Testing procedure

  • Green CI

Issues/PRs references

This builds on #18839 -- see there for an overview list of locksteps with CI.

@chrysn chrysn added Area: build system Area: Build system Area: Rust Area: Rust wrapper State: waiting for CI update State: The PR requires an Update to CI to be performed first labels Nov 3, 2022
@github-actions github-actions bot added Area: doc Area: Documentation Area: examples Area: Example Applications and removed Area: build system Area: Build system labels Nov 3, 2022
@chrysn chrysn mentioned this pull request Nov 3, 2022
4 tasks
bors bot added a commit that referenced this pull request Jan 12, 2023
19058: rust: Use stable Rust [backport 2022.10] r=maribu a=maribu

# Backport of #18839

### Contribution description

Since Rust 1.65, we don't depend on anything nightly any more. This changes the examples and documentation to use stable.

### Testing procedure

* Green CI with tests enabled
* Look at changed documentation ([rendered](https://ci.riot-os.org/results/2923b30a4ba04dbface1ed38fb6aae12/doc-preview/using-rust.html#toolchain))

<del>Note that these will *not* pass yet: This needs a CI update (no PR associated: Any CI image built from now on will do).</del>

### Issues/PRs references

A follow-up will simplify things a bit further, but that will depend on CI to have made stable the default, which is a later step in what is a bit of a lock-step game:

* [x] CI rebuilds riotdocker -- no PR, then stable=1.65
* [ ] Use stable in examples -- this PR, then examples use stable
* [ ] CI removes nightly and makes stable the default -- RIOT-OS/riotdocker#214, then default=stable
* [ ] Use the new default to simplify makefiles -- #18840

Co-authored-by: chrysn <chrysn@fsfe.org>
bors bot added a commit that referenced this pull request Jan 12, 2023
19058: rust: Use stable Rust [backport 2022.10] r=maribu a=maribu

# Backport of #18839

### Contribution description

Since Rust 1.65, we don't depend on anything nightly any more. This changes the examples and documentation to use stable.

### Testing procedure

* Green CI with tests enabled
* Look at changed documentation ([rendered](https://ci.riot-os.org/results/2923b30a4ba04dbface1ed38fb6aae12/doc-preview/using-rust.html#toolchain))

<del>Note that these will *not* pass yet: This needs a CI update (no PR associated: Any CI image built from now on will do).</del>

### Issues/PRs references

A follow-up will simplify things a bit further, but that will depend on CI to have made stable the default, which is a later step in what is a bit of a lock-step game:

* [x] CI rebuilds riotdocker -- no PR, then stable=1.65
* [ ] Use stable in examples -- this PR, then examples use stable
* [ ] CI removes nightly and makes stable the default -- RIOT-OS/riotdocker#214, then default=stable
* [ ] Use the new default to simplify makefiles -- #18840

Co-authored-by: chrysn <chrysn@fsfe.org>
bors bot added a commit that referenced this pull request Jan 12, 2023
19058: rust: Use stable Rust [backport 2022.10] r=miri64 a=maribu

# Backport of #18839

### Contribution description

Since Rust 1.65, we don't depend on anything nightly any more. This changes the examples and documentation to use stable.

### Testing procedure

* Green CI with tests enabled
* Look at changed documentation ([rendered](https://ci.riot-os.org/results/2923b30a4ba04dbface1ed38fb6aae12/doc-preview/using-rust.html#toolchain))

<del>Note that these will *not* pass yet: This needs a CI update (no PR associated: Any CI image built from now on will do).</del>

### Issues/PRs references

A follow-up will simplify things a bit further, but that will depend on CI to have made stable the default, which is a later step in what is a bit of a lock-step game:

* [x] CI rebuilds riotdocker -- no PR, then stable=1.65
* [ ] Use stable in examples -- this PR, then examples use stable
* [ ] CI removes nightly and makes stable the default -- RIOT-OS/riotdocker#214, then default=stable
* [ ] Use the new default to simplify makefiles -- #18840

Co-authored-by: chrysn <chrysn@fsfe.org>
bors bot added a commit that referenced this pull request Jan 12, 2023
19058: rust: Use stable Rust [backport 2022.10] r=miri64 a=maribu

# Backport of #18839

### Contribution description

Since Rust 1.65, we don't depend on anything nightly any more. This changes the examples and documentation to use stable.

### Testing procedure

* Green CI with tests enabled
* Look at changed documentation ([rendered](https://ci.riot-os.org/results/2923b30a4ba04dbface1ed38fb6aae12/doc-preview/using-rust.html#toolchain))

<del>Note that these will *not* pass yet: This needs a CI update (no PR associated: Any CI image built from now on will do).</del>

### Issues/PRs references

A follow-up will simplify things a bit further, but that will depend on CI to have made stable the default, which is a later step in what is a bit of a lock-step game:

* [x] CI rebuilds riotdocker -- no PR, then stable=1.65
* [ ] Use stable in examples -- this PR, then examples use stable
* [ ] CI removes nightly and makes stable the default -- RIOT-OS/riotdocker#214, then default=stable
* [ ] Use the new default to simplify makefiles -- #18840

Co-authored-by: chrysn <chrysn@fsfe.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: doc Area: Documentation Area: examples Area: Example Applications Area: Rust Area: Rust wrapper State: waiting for CI update State: The PR requires an Update to CI to be performed first
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant