Skip to content
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

How useful is this for other rust projects? #24

Open
Manishearth opened this issue Sep 11, 2018 · 2 comments
Open

How useful is this for other rust projects? #24

Manishearth opened this issue Sep 11, 2018 · 2 comments

Comments

@Manishearth
Copy link
Member

Rust's build system and tests are kinda special, which means that this analyzer may be specifically geared towards that.

I'd like to use this tool for Servo; do you think it will just work or will it require changes to the analysis code?

(For all intents and purposes Servo just runs cargo build on CI, though it also has a custom tidy check)

In general documentation for tweaking the analyser would be nice.

@TimNN
Copy link
Contributor

TimNN commented Sep 11, 2018

There is no real reason why it wouldn't work (although some changes would be required).

Off the top of my head, the following things may need to be adapted (or made configurable):

  • The rust-lang/rust repo is hardcoded in various places.
  • Some specific output from the rust-lang/rust build is ignored (that shouldn't cause any real issues for you).

Apart from that, the general logic of the bot is basically this:

  1. Analyze tons of old (and all future) successful build logs.
  2. Score lines of failed build logs based on how similar they are to existing lines.
  3. Try and find large, ~continuous regions of high-scoring lines.

If you think this heuristic would work for Servo, it shouldn't take too much effort to set things up. (Actually running this doesn't require much setup either, the server easily runs for months without issues).

I should be able to find the time to adapt RLA over the weekend to make most of the stuff hardcoded to rust-lang/rust configurable, if you want to give it a try with Servo.

If you want to help out or have more question please just reply here or ping me on IRC.

@Manishearth
Copy link
Member Author

I'm a bit busy now, but I'd be happy to help test this out on Servo once you think it's ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants