Skip to content

make travis extreme #27205

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

Merged
merged 1 commit into from
Aug 2, 2015
Merged

make travis extreme #27205

merged 1 commit into from
Aug 2, 2015

Conversation

Gankra
Copy link
Contributor

@Gankra Gankra commented Jul 21, 2015

Only make -j4 takes ~50 mins
make check bumps it up to ~1hr 30min

Travis seems more than happy to let this happen.

Time limits appear to be meaningless.

Similar to the previous PR, it's easy to tell how much your PR definitely builds by checking the current logs or just considering how long it's been building for.

@rust-highfive
Copy link
Contributor

r? @brson

(rust_highfive has picked a reviewer for you, use r? to override)

@Gankra
Copy link
Contributor Author

Gankra commented Jul 21, 2015

See https://travis-ci.org/Gankro/rust/builds for experimental runs (contrary to the commit messages, ccache was working on all these builds -- travis is magic).

@@ -21,7 +21,8 @@ before_script:
- ./configure --enable-ccache
script:
- make tidy
- make rustc-stage1 -j4
- make -j4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, why not just make check -j4?
With 4 jobs check is usually finished even before all, i.e. time(make check -j4) ≈ time(make -j4).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running make check in parallel has historically caused... exotic problems. Tests already run in parallel regardless (though test groups won't).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah make check -j4 should work just fine here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah and to clarify make check in parallel has been fixed recently and I haven't run into any problems with it recently as well (plus this is a good way to test it). Building the unit tests in parallel may have a definite win.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh cool!

@Gankra
Copy link
Contributor Author

Gankra commented Jul 21, 2015

We may want to add

matrix:
  fast_finish: true

to have pretty fails short-circuit the build (it seems I was mistaken as to the behaviour in my previous PR)

@alexcrichton
Copy link
Member

Just to make sure, but if we updated LLVM (and hence invalidate the ccache), does a build still complete before travis times us out?

@Gankra
Copy link
Contributor Author

Gankra commented Jul 21, 2015

Updating doesn't actually invalidate the ccache right? It will still do an incremental rebuild?

@alexcrichton
Copy link
Member

Nah but I think you can delete the caches manually from the web interface

@Gankra
Copy link
Contributor Author

Gankra commented Jul 22, 2015

make check -j4 brings us down to about 1:10 - https://travis-ci.org/rust-lang/rust/builds/72036834

If the cache is destroyed, it's about 1:25 - https://travis-ci.org/rust-lang/rust/builds/72036834

I'm currently filing a bug against travis to make sure we can rely on this.

@alexcrichton
Copy link
Member

👍

@Gankra
Copy link
Contributor Author

Gankra commented Jul 22, 2015

Tracking at travis-ci/travis-ci#4521

@Gankra Gankra force-pushed the travis-extreme branch 2 times, most recently from 346a8a1 to 2191d76 Compare July 22, 2015 01:04
@oli-obk
Copy link
Contributor

oli-obk commented Jul 22, 2015

isn't stage2 just for sanity? shouldn't check-stage1 always have the same result as check?

@Gankra
Copy link
Contributor Author

Gankra commented Jul 22, 2015

stage2 ensures that plugins have the same ABI as the compiler they're running on. Historically check stage1 has been very unreliable, and is not verified to work correctly by bors. Being maximally vanilla is desirable for travis to be a useful signal.

@oli-obk
Copy link
Contributor

oli-obk commented Jul 24, 2015

travis also re-tests PRs that were merged by bors... https://travis-ci.org/rust-lang/rust/builds/72454339

@tamird
Copy link
Contributor

tamird commented Jul 24, 2015

It still failed the build, though.

On Fri, Jul 24, 2015 at 8:49 AM, Oliver Schneider [email protected]
wrote:

I just noticed that travis doesn't stop on tidy errors anymore:
https://travis-ci.org/rust-lang/rust/builds/72455829


Reply to this email directly or view it on GitHub
#27205 (comment).


env:
- CXX=/usr/bin/g++-4.7
matrix:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is used in the wrong area, I would suggest removing this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it just not be nested under env? The documentation seems unclear (I've only ever seen matrix nested under env).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not remove this altogether and change script to make tidy check -j4?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woah that works?!

Crazy undocumented build systems...

@tamird
Copy link
Contributor

tamird commented Jul 24, 2015

any reason not to merge this?

@Gankra
Copy link
Contributor Author

Gankra commented Jul 24, 2015

We're waiting to hear back from travis about timeouts.

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Collaborator

bors commented Aug 2, 2015

📌 Commit b0acde7 has been approved by alexcrichton

@bors
Copy link
Collaborator

bors commented Aug 2, 2015

⌛ Testing commit b0acde7 with merge f7b3cd3...

bors added a commit that referenced this pull request Aug 2, 2015
Only `make -j4` takes ~50 mins
`make check` bumps it up to ~1hr 30min

Travis seems more than happy to let this happen. 

Time limits appear to be meaningless.

Similar to the previous PR, it's easy to tell how much your PR definitely builds by checking the current logs or just considering how long it's been building for.
@Gankra
Copy link
Contributor Author

Gankra commented Aug 2, 2015

RIP TRAVIS

@bors bors merged commit b0acde7 into rust-lang:master Aug 2, 2015
@joshk
Copy link

joshk commented Aug 2, 2015

Oh, is Travis RIP on rust-lang?

We have something special which you might be interested in trying out. If someone could reach out to me via email (josh at travis-ci dot com) I can give some more information.

Have a great weekend.

@Gankra
Copy link
Contributor Author

Gankra commented Aug 2, 2015

@joshk email sent!

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

Successfully merging this pull request may close these issues.

9 participants