Skip to content

Gate on distcheck on Travis - #38708

Merged
bors merged 2 commits into
rust-lang:masterfrom
alexcrichton:add-distcheck
Jan 1, 2017
Merged

Gate on distcheck on Travis#38708
bors merged 2 commits into
rust-lang:masterfrom
alexcrichton:add-distcheck

Conversation

@alexcrichton

Copy link
Copy Markdown
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.
Closesrust-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.
Closesrust-lang#38691
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @nikomatsakis

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

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
Copy Markdown
MemberAuthor

r? @brson

@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Dec 30, 2016
@brsonbrson added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Dec 30, 2016
@brson

Copy link
Copy Markdown
Contributor

@bors r+

@bors

bors commented Dec 30, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 4781eb3 has been approved by brson

@bors

bors commented Dec 31, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 4781eb3 with merge ade8fb4...

@bors

bors commented Dec 31, 2016

Copy link
Copy Markdown
Collaborator

💔 Test failed - status-travis

@alexcrichton

alexcrichton commented Dec 31, 2016 via email

Copy link
Copy Markdown
MemberAuthor

@bors

bors commented Dec 31, 2016

Copy link
Copy Markdown
Collaborator

⌛ 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

bors commented Jan 1, 2017

Copy link
Copy Markdown
Collaborator

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

@bors
bors merged commit 4781eb3 into rust-lang:masterJan 1, 2017
@alexcrichton
alexcrichton deleted the add-distcheck branch January 6, 2017 01:39
@nikomatsakisnikomatsakis mentioned this pull request Jan 6, 2017
17 tasks
@alexcrichtonalexcrichton removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jan 6, 2017
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@nikomatsakis