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

{examples,tests}/rust: Rust updates (-sys/-wrappers version, stable) #17761

Merged
merged 5 commits into from
Mar 8, 2022

Conversation

chrysn
Copy link
Member

@chrysn chrysn commented Mar 7, 2022

Contribution description

Another round of updates to the Rust examples, with the usual steps of

  • updating versions and
  • following all the latest riot-wrappers deprecations (so that going through a breaking version will be painless),

with extas of

  • increasing the stack size (cherry-picked from examples/rust-gcoap: Add SAUL #17554 -- turned out some resources' rendering overflew the stack), and
  • documenting it's now usable in some cases with stable Rust.

Disabling default-features on two examples sits somewhere between them -- the deprecation note says only that we have to pull in those that were default so far, but it is necessary to make things work on stable unmodified.

Testing procedure

  • Green CI (which includes tests)
  • Optionally, make all term CARGO_CHANNEL=stable BOARD=microbit-v2 all flash term -C examples/rust-hello-world (if you have Rust 1.59 at hand and all the relevant targets installed)

Issues/PRs references

Closes #17526

Includes a cherry-pick from #17554

Once this is through, I can open one at https://arewertosyet.com/ to make our "compiles on stable" checkbox go green.

@chrysn chrysn added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: run tests If set, CI server will run tests on hardware for the labeled PR Area: Rust Area: Rust wrapper labels Mar 7, 2022
@github-actions github-actions bot added Area: doc Area: Documentation Area: examples Area: Example Applications Area: tests Area: tests and testing framework labels Mar 7, 2022
@chrysn chrysn changed the title Riot updates {examples,tests}/rust: Rust updates (-sys/-wrappers version, stable) Mar 7, 2022
@benpicco benpicco removed the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Mar 7, 2022
@chrysn chrysn added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Mar 7, 2022
@benpicco
Copy link
Contributor

benpicco commented Mar 8, 2022

Please squash!

@chrysn
Copy link
Member Author

chrysn commented Mar 8, 2022

If it's OK with you I'll add one more cargo update run at squash time, which will then also cover the 0.7.19 version of riot-wrappers which I'm about to release, which will then also work both before and after #17544 (and thus that PR can be rebased onto this and will not need to contain any Rust changes any more)

On microbit-v2, getting .well-known/core would otherwise result in a
stack overflow.

Consequently, some boards were removed from the list of supported boards
as the currently required RAM exceeds their capacity.
@chrysn
Copy link
Member Author

chrysn commented Mar 8, 2022

The first quashed push was erroneous as it still had a local override in place -- would probably have gone through just fine, and worked, but that would have circumvented the checks that are in place in Cargo.lock against crates.io corruption.

The new is good (as can be seen by loading the Cargo.toml diffs -- they show changed versions and hashes but nothing structural), and awaiting Murdock's OK to go through.

@chrysn chrysn enabled auto-merge March 8, 2022 20:55
@chrysn chrysn merged commit d3e1a1a into RIOT-OS:master Mar 8, 2022
@chrysn chrysn deleted the riot-updates branch March 8, 2022 22:36
@OlegHahm OlegHahm added this to the Release 2022.04 milestone Apr 25, 2022
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 Area: tests Area: tests and testing framework CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: run tests If set, CI server will run tests on hardware for the labeled PR Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rust: Work with stable Rust
3 participants