Skip to content

Commit 407a6c2

Browse files
committed
Unstable features / Rust version policy: reorganize and update pre-merge CI information
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1 parent a16c8a2 commit 407a6c2

File tree

2 files changed

+4
-10
lines changed

2 files changed

+4
-10
lines changed

src/Rust-version-policy.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ The kernel documents the [minimal requirements](https://docs.kernel.org/process/
66

77
For the moment, we cannot guarantee newer Rust versions will always work due to the [unstable features](Unstable-features.md) in use[^rust-is-stable]. Removing the need for them is a priority of the project.
88

9-
To ameliorate that, the kernel is now being built-tested by Rust's pre-merge CI. That is, every change that is attempting to land into the Rust compiler is tested against the kernel, and it is merged only if it passes. Similarly, the `bindgen` tool is also building the kernel in their pre-merge CI too.
9+
To ameliorate that, the kernel is now being [build-tested](https://rustc-dev-guide.rust-lang.org/tests/rust-for-linux.html) in Rust's pre-merge CI. That is, every change that is attempting to land into the Rust compiler is tested against the kernel, and it is merged only if it passes. Similarly, the `bindgen` tool is also [build-testing](https://github.com/rust-lang/rust-bindgen/pull/2851) the kernel in their pre-merge CI.
1010

11-
Thus, with the pre-merge CI in place, those projects hope to avoid unintentional changes to Rust that break the kernel. This means that, in general, apart from intentional changes on their side (that we will need to workaround conditionally on our side), the upcoming Rust compiler versions should generally work. This applies to beta and nightly versions of Rust as well.
11+
Thus, with the pre-merge CIs in place, those projects hope to avoid unintentional changes to Rust and `bindgen` that break the kernel. This means that, in general, apart from intentional changes on their side (that we will need to workaround conditionally on our side), the upcoming Rust and `bindgen` versions should generally work. This applies to beta and nightly versions of Rust as well.
1212

13-
In addition, the Rust project has proposed getting the kernel into stable Rust (at least solving the main blockers) as one of its three [flagship goals for 2024H2](https://rust-lang.github.io/rust-project-goals/2024h2/index.html#flagship-goals).
13+
In addition, one of the three [flagship goals for 2024H2](https://rust-lang.github.io/rust-project-goals/2024h2/index.html#flagship-goals) of the Rust project is getting the kernel into stable Rust (at least solving the main blockers).
1414

1515
[^rust-is-stable]: To clarify, the Rust language is stable, i.e. it promises backwards compatibility, except for those unstable features.
1616

src/Unstable-features.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,7 @@ If you would like to use a new Rust unstable feature in the kernel, then please
3434

3535
## Rust for Linux in the Rust pre-merge CI
3636

37-
Rust for Linux is currently being [built-tested](https://rustc-dev-guide.rust-lang.org/tests/rust-for-linux.html) in Rust's pre-merge CI, i.e. the process that checks every change that is attempting to land into the Rust project in order to always keep it in a valid state.
38-
39-
This allows both Rust for Linux and the Rust project to catch very early any unexpected changes that would break the kernel's usage of unstable features, as well as any other change that may affect it.
40-
41-
The CI job may still need to be temporarily disabled for different reasons, but the intention is to help bring Rust for Linux into stable Rust.
42-
43-
Thanks to the Rust project for adding the Linux kernel to their CI!
37+
In order to catch any unexpected changes that would break the kernel's usage of unstable features, the kernel is build-tested in the pre-merge CI of the Rust project. Please see the [Rust version policy](Rust-version-policy.md) page for details.
4438

4539
### `alloc` (older releases)
4640

0 commit comments

Comments
 (0)