Skip to content

Add compile-check-no-std Command to CI Tool#15843

Merged
mockersf merged 5 commits intobevyengine:mainfrom
bushrat011899:AddNoStdCompileCheckToCI
Oct 11, 2024
Merged

Add compile-check-no-std Command to CI Tool#15843
mockersf merged 5 commits intobevyengine:mainfrom
bushrat011899:AddNoStdCompileCheckToCI

Conversation

@bushrat011899
Copy link
Copy Markdown
Contributor

@bushrat011899 bushrat011899 commented Oct 10, 2024

Objective

Solution

Added a new subcommand to the CI tool, compile-check-no-std, which will attempt to compile each no_std crate in Bevy with the appropriate features (no-defaults, libm, etc.) for x86_64-unknown-none. The exact target chosen could be changed to any reasonable platform which does not include the std library.

The currently tested crates are:

  • bevy_ptr
  • bevy_utils
  • bevy_mikktspace

As more crates have no_std support added, they should be added to this CI command. Once Bevy itself can be no_std, the individual checks can be replaced with just checking Bevy, since it will transiently check all other crates as appropriate.

Testing

  • Ran CI. From a clean target directory (cargo clean), these new checks take approximately 10 seconds total.

This will check for `no_std` compatibility for any `no_std` crates Bevy has. Note that each `no_std` crate is added manually as certain crates (e.g., `bevy_mikktspace`) do/will require features to be enabled for `no_std` compatibility (e.g., `libm`).

Currently a single `no_std` target has been chosen (`x86_64-unknown-none`). However, this should be updated in the future with more representative platforms as required.
@bushrat011899 bushrat011899 added C-Feature A new feature, making something new possible A-Build-System Related to build systems or continuous integration X-Uncontroversial This work is generally agreed upon D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Oct 10, 2024
@bushrat011899 bushrat011899 marked this pull request as draft October 10, 2024 23:28
Requires the `x86_64-unknown-none` target be added via `rustup`, which may not be appropriate for all contributors.
@bushrat011899 bushrat011899 marked this pull request as ready for review October 10, 2024 23:39
bushrat011899 and others added 3 commits October 11, 2024 21:02
Co-authored-by: François Mockers <francois.mockers@vleue.com>
Co-Authored-By: François Mockers <francois.mockers@vleue.com>
@mockersf mockersf added this pull request to the merge queue Oct 11, 2024
Merged via the queue into bevyengine:main with commit aa5e93d Oct 11, 2024
@AlexAegis AlexAegis mentioned this pull request Nov 2, 2025
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Build-System Related to build systems or continuous integration C-Feature A new feature, making something new possible D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Needs-Review Needs reviewer attention (from anyone!) to move forward X-Uncontroversial This work is generally agreed upon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add no_std Checks to CI

3 participants