As part of the tests that must succeed on CI before any pull request is
merged, the https://github.com/rust-lang/rust/ repository has a
src/tools/cargotest subdirectory that runs 'cargo test' in a given list
of other git repositories.
Each has a fixed commit that is known to work on stable Rust, so a Rust
PR that breaks any of them is probably a compiler regression and will be
blocked from landing.
In https://github.com/rust-lang/rust/pull/44603 I’ve added to this list:
* servo/webrender: all crates in the workspace
* servo/servo:
- The stylo_tests crate (which depends on the geckoservo crate)
- The selectors crate (which has a few more unit tests)
This does not (yet) include more of Servo, mostly because it must not
involve unstable language or library features where breakage is expected.
(I’ve also introduced a Servo compilation mode that uses unstable
features less (sacrificing some optimizations) with the goal that the
script crate can eventually be added to that list, but we’re not there
yet. This is tracked at https://github.com/servo/servo/issues/5286.)
In the future if Stylo or Webrender starts exercising different parts of
the compiler (for example if they start making significant use of a new
language feature) it maybe worth updating the commit hashes in
https://github.com/rust-lang/rust/blob/master/src/tools/cargotest/main.rs
--
Simon Sapin
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo