CI: Check MSRV in CI (#37152)

As previously proposed on zulip and discussed in the coordination
meeting, add a check to CI to see if
servo still compiles with our minimum supported Rust version.
To avoid requiring changes, we define our MSRV as the current version we
are using now (1.85.0).

This does not prevent us from updating the default compiler version,
which we should still do, to
get benefits like faster compile times, newer lints and making sure
crown stays up-to-date.

We simply test that libservo compiles in CI, since libservo (and
dependencies) is what embedders would care about. We also don't need
mach (or bootstrap!) for this, so we just use cargo build.

Testing: This PR adds a CI test. [`./mach try windows-build-libservo
linux-build-libservo
mac-build-libservo`](https://github.com/jschwe/servo/actions/runs/16901171766)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This commit is contained in:
Jonathan Schwender 2025-08-12 21:19:45 +02:00 committed by GitHub
parent 6ff5c4ef99
commit 4b91dc6d82
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 125 additions and 18 deletions

View file

@ -210,6 +210,7 @@ class Config(object):
if word == "full":
words.extend(["linux-unit-tests", "linux-wpt", "linux-bencher"])
words.extend(["macos-unit-tests", "windows-unit-tests", "android", "ohos", "lint"])
words.extend(["linux-build-libservo", "macos-build-libservo", "windows-build-libservo"])
continue # skip over keyword
if word == "bencher":
words.extend(["linux-bencher", "macos-bencher", "windows-bencher", "android-bencher", "ohos-bencher"])
@ -278,37 +279,37 @@ class TestParser(unittest.TestCase):
"fail_fast": False,
"matrix": [
{
"name": "Linux (Unit Tests, WPT, Bencher)",
"name": "Linux (Unit Tests, Build libservo, WPT, Bencher)",
"number_of_wpt_chunks": 20,
"workflow": "linux",
"wpt": True,
"profile": "release",
"unit_tests": True,
"build_libservo": False,
"build_libservo": True,
"bencher": True,
"wpt_args": "",
"build_args": "",
},
{
"name": "MacOS (Unit Tests)",
"name": "MacOS (Unit Tests, Build libservo)",
"number_of_wpt_chunks": 20,
"workflow": "macos",
"wpt": False,
"profile": "release",
"unit_tests": True,
"build_libservo": False,
"build_libservo": True,
"bencher": False,
"wpt_args": "",
"build_args": "",
},
{
"name": "Windows (Unit Tests)",
"name": "Windows (Unit Tests, Build libservo)",
"number_of_wpt_chunks": 20,
"workflow": "windows",
"wpt": False,
"profile": "release",
"unit_tests": True,
"build_libservo": False,
"build_libservo": True,
"bencher": False,
"wpt_args": "",
"build_args": "",