-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Getting Servo tested by crater #133
Comments
Is mach needed at all? I've read in servo/servo#18343 that mach is only required on Windows. |
@est31 Right, I mentioned running |
There is https://github.com/rust-lang-nursery/cargobomb/blob/master/gh-apps.txt . There is also a gh-candidates.txt not sure what the difference is, both seem to be known by the code. |
I'll experiment with getting servo tested on the test cargobomb instance. As a first step, I'd probably just get cargo build of the whole thing working (I assume that should work) - don't know how tricky it'll be to add subdirectory support to cargobomb. Assuming it goes fine: because I'll initially just be doing a build of the whole thing and you use nightly features, I believe you won't listed in beta breakage - just individual PRs. |
gh-apps is the subset of gh-candidates repos that have a I see that https://github.com/rust-lang-nursery/cargobomb/blob/46bb193357/src/gh.rs#L16-L29 makes queries to the GitHub search APIs, each time with But for https://github.com/servo/servo/ that data is just missing. I assume that GitHub gives up counting beyond some number of files, and the Servo repo contains many files by vendoring a copy of https://github.com/w3c/web-platform-tests. I assume that repositories that large are exceptional. What do you think of adding an exception list to the code? |
I'd like to voice my support for this as well. Rust PR #44287 was known to break type inference in some cases, and cargobomb was used to preemptively fix the breakage as much as possible. But since cargobomb doesn't test servo, it was only discovered that it broke servo after the PR was already merged. |
This is the result of running: ``` cargo run --release create-lists cp work/shared/lists/gh-* . ``` In particular, this includes servo/servo which is now listed in `language:rust` searches. CC rust-lang#133
With various changes in Servo, running #163 adds Maybe these two things are enough? |
It’s been a while, and Crater has evolved quite a bit. In a recent run, https://crater-reports.s3.amazonaws.com/pr-65819/master%2323f890f10202a71168c6424da0cdf94135d3c40c/gh/servo.servo/log.txt shows that the Servo repository is found and cloned, but then the task fails with:
This is a bit surprising, since Servo’s root Running
Does Crater not support testing any git repo that contains a virtual workspace? |
To be honest Crater doesn't fully support git repositories. For example workspaces don't work, and neither do git dependencies. |
I wonder if at least Firefox could be tested by crater. It's an important product built on Rust to say the least. There has been a report that rust is showing back compat warnings during the Firefox ESR build. I'm not sure whether the issue would have been caught had it not been reported, although maybe there is an internal Mozilla CI I don't know about that tests for it. The source code of Firefox is available and regularly published in tarball form, so no need for git or hg support. One job for the latest release of Firefox stable and one for Firefox ESR would be helpful. |
rust-lang/rust#43880 proposed a change that could potentially break some code, and cargobomb was used to evaluate the impact. This found a couple issues that were fixed, and then the PR was landed. It only after this change reached the Nightly channel that the Travis-CI cron job at https://github.com/servo/servo-with-rust-nightly/ found that this change broke Servo.
I’d like Servo, or parts of it, to be added to the set of crates that are tested by cargobomb for PRs like rust-lang/rust#43880. Is there some list we can add to?
The two main entry points in https://github.com/servo/servo/ are:
./mach build --dev
or(cd ports/servo && cargo build)
. This uses unstable features and is known to compile with the Nightly version (date) specified in./rust-toolchain
. That version is generally updated within days of breakage reaching the Nightly channel../mach build-geckolib
or(cd ports/geckolib && cargo build)
. This is known to compile with the release specified in./rust-stable-version
and should work with any later version or Nightly.By default
mach
will download appropriate versions of Rust and Cargo and not use those in$PATH
. This can be changed with a config file, but runningcargo
directly might be easier.We can definitely change or add things to the repository to make it easier for cargobomb to discover what to build/run.
CC @metajack @jonathandturner
The text was updated successfully, but these errors were encountered: