Skip to content

Commit 7ecba26

Browse files
committed
Add Rust for Linux integration tests documentation
1 parent 0bd5b6a commit 7ecba26

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

src/SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
- [Integration testing](./tests/integration.md)
2828
- [Crater](./tests/crater.md)
2929
- [Fuchsia](./tests/fuchsia.md)
30+
- [Rust for Linux](./tests/rust-for-linux.md)
3031
- [Performance testing](./tests/perf.md)
3132
- [Suggest tests tool](./tests/suggest-tests.md)
3233
- [Debugging the compiler](./compiler-debugging.md)

src/tests/rust-for-linux.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Rust for Linux integration tests
2+
3+
[Rust for Linux](https://rust-for-linux.com/) (RfL) is an effort for adding support for the Rust programming
4+
language into the Linux kernel.
5+
6+
## Building Rust for Linux in CI
7+
8+
Rust for Linux builds as part of the suite of bors tests that run before a pull request
9+
is merged.
10+
11+
The workflow builds a stage1 sysroot of the Rust compiler, downloads the Linux kernel, and tries to compile several Rust for Linux drivers and examples using this sysroot. RfL uses several unstable compiler/language features, therefore this workflow notifies us if a given compiler change would break it.
12+
13+
If you are worried that a pull request might break the Rust for Linux builder and want
14+
to test it out before submitting it to the bors queue, simply add this line to
15+
your PR description:
16+
17+
> try-job: x86_64-rust-for-linux
18+
19+
Then when you `@bors try` it will pick the job that builds the Rust for Linux integration.
20+
21+
## What to do in case of failure
22+
23+
Currently, we use the following unofficial policy for handling failures caused by a change breaking the RfL integration:
24+
25+
- If the breakage was unintentional, then fix the PR.
26+
- If the breakage was intentional, then let [RFL][rfl-ping] know and discuss what will the kernel need to change.
27+
- If the PR is urgent, then disable the test temporarily.
28+
- If the PR can wait a few days, then wait for RFL maintainers to provide a new Linux kernel commit hash with the needed changes done, and apply it to the PR, which would confirm the changes work.
29+
30+
If something goes wrong with the workflow, you can ping the [Rust for Linux][rfl-ping] ping group to ask for help.
31+
32+
[rfl-ping]: ../notification-groups/rust-for-linux.md

0 commit comments

Comments
 (0)