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

Gate on distcheck on Travis #38708

Merged
merged 2 commits into from
Jan 1, 2017
Merged

Conversation

alexcrichton
Copy link
Member

This commit adds a new entry to the Travis matrix to gate on distcheck, the illustrious test process that has historically taken 8 hours to complete and also breaks all the time on nightly. By adding it to Travis we should hope to never see nightly breakage (like #38690) because of this ever again!

"But wait, surely we can't wait 8 hours for all PRs!" you might be thinking, and you are indeed correct. The distcheck added here is much more optimized for speed than the old buildbot instances for a number of reasons:

  • We're not building two host compilers beforehand. The current distcheck bot does a cross for i686 Linux and x86_64 Linux before it actually runs distcheck, building 6 compilers and LLVM twice. None of this is done in parallel as well (e.g. -j1). Not doing any of this work will be a huge win!
  • We're using sccache to compile LLVM, so it should be much faster. Distcheck on the bots didn't cache LLVM well and rebuilt it every time.

All in all, this version of "distcheck" should be exactly like other matrix entries that run tests except that it's a little slower to start as it has to create the source tarball then rebuild the build system in the distcheck dir. Overall this should be well under the 2 hours that Android is currently taking anyway.

Closes #38691

The source tarball creation step would attempt to skip a number of files that we
want to ignore ourselves, but once we've hit the vendor directory we don't want
to skip anything so be sure to vendor everything inside that directory.

Closes rust-lang#38690
This commit adds a new entry to the Travis matrix which performs a "distcheck",
which basically means that we create a tarball, extract that tarball, and then
build/test inside there. This ensures that the tarballs we produce are actually
able to be built/tested!

Along the way this also updates the rustbuild distcheck definition to propagate
the configure args from the top-level invocation.

Closes rust-lang#38691
@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

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

@alexcrichton
Copy link
Member Author

I'm nominating this for a beta-backport, but I'd like to only backport the first commit. The first commit fixes the beta breakage (#38690) and the second commit may be too risky to backport.

@alexcrichton
Copy link
Member Author

r? @brson

@rust-highfive rust-highfive assigned brson and unassigned nikomatsakis Dec 30, 2016
@alexcrichton alexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Dec 30, 2016
@brson brson added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Dec 30, 2016
@brson
Copy link
Contributor

brson commented Dec 30, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Dec 30, 2016

📌 Commit 4781eb3 has been approved by brson

@bors
Copy link
Contributor

bors commented Dec 31, 2016

⌛ Testing commit 4781eb3 with merge ade8fb4...

@bors
Copy link
Contributor

bors commented Dec 31, 2016

💔 Test failed - status-travis

@alexcrichton
Copy link
Member Author

alexcrichton commented Dec 31, 2016 via email

@bors
Copy link
Contributor

bors commented Dec 31, 2016

⌛ Testing commit 4781eb3 with merge 90c80e0...

bors added a commit that referenced this pull request Dec 31, 2016
Gate on distcheck on Travis

This commit adds a new entry to the Travis matrix to gate on distcheck, the illustrious test process that has historically taken *8 hours* to complete and also breaks all the time on nightly. By adding it to Travis we should hope to never see nightly breakage (like #38690) because of this ever again!

"But wait, surely we can't wait 8 hours for all PRs!" you might be thinking, and you are indeed correct. The distcheck added here is much more optimized for speed than the old buildbot instances for a number of reasons:

* We're not building *two host compilers* beforehand. The current distcheck bot does a cross for i686 Linux and x86_64 Linux before it actually runs distcheck, building 6 compilers and LLVM twice. None of this is done in parallel as well (e.g. `-j1`). Not doing any of this work will be a huge win!
* We're using sccache to compile LLVM, so it should be much faster. Distcheck on the bots didn't cache LLVM well and rebuilt it every time.

All in all, this version of "distcheck" should be exactly like other matrix entries that run tests except that it's a *little* slower to start as it has to create the source tarball then rebuild the build system in the distcheck dir. Overall this should be well under the 2 hours that Android is currently taking anyway.

Closes #38691
@bors
Copy link
Contributor

bors commented Jan 1, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: brson
Pushing 90c80e0 to master...

@bors bors merged commit 4781eb3 into rust-lang:master Jan 1, 2017
@alexcrichton alexcrichton deleted the add-distcheck branch January 6, 2017 01:39
@nikomatsakis nikomatsakis mentioned this pull request Jan 6, 2017
17 tasks
@alexcrichton alexcrichton removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants