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

Reply via email to