-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
travis: Gate on some minimal support for incremental compilation. #38847
Conversation
@michaelwoerister have you confirmed that Additionally, perhaps we could just run the whole test suite here? Presumably stdtest/coretest/collectionstest may weed out other bugs that may otherwise crop up? |
I did test that the compiler is invoked with
Good idea! Though I suspect that at least some of the tests would not want |
You can't say "don't run these suites" but you can indeed say "run all of these suites" with something like:
(etc) |
Yeah, that should do the trick. |
ping @michaelwoerister, any update on this? |
Somewhat: I can confirm that The question is whether that's enough testing for now or whether I should extend |
@michaelwoerister I'd be fine either way. We could always add this and then perhaps expand later if need be? |
This commit adds a travis job that builds a stage2 compiler in incremental mode (but with empty incremental compilation cache). Building incrementally with an empty cache makes sure that the compiler doesn't crash in dependency tracking during bootstrapping.
ed54f41
to
5f118b9
Compare
@alexcrichton I've updated this to just bootstrapping in incremental mode and then running |
@bors: r+ |
📌 Commit 5f118b9 has been approved by |
⌛ Testing commit 5f118b9 with merge d2803ce... |
💔 Test failed - status-appveyor |
So that error is just a spurious network error, but @michaelwoerister I think that this error may be caused by this PR? (found from the rollup) |
I'll try to reproduce that locally. |
Rollup of 28 pull requests - Successful merges: #38603, #38761, #38842, #38847, #38955, #38966, #39062, #39068, #39077, #39111, #39112, #39114, #39118, #39120, #39132, #39135, #39138, #39142, #39143, #39146, #39157, #39166, #39167, #39168, #39179, #39184, #39195, #39197 - Failed merges: #39060, #39145
Rollup of 28 pull requests - Successful merges: #38603, #38761, #38842, #38847, #38955, #38966, #39062, #39068, #39077, #39111, #39112, #39114, #39118, #39120, #39132, #39135, #39138, #39142, #39143, #39146, #39157, #39166, #39167, #39168, #39179, #39184, #39195, #39197 - Failed merges: #39060, #39145
OK, I was able to reproduce this locally. Haven't looked further into to yet... |
So the problem here is that the run-make tests inherit the RUSTFLAGS env-var, which messes with the codegen-unit related tests there. I tried to fix this by setting CARGO_INCREMENTAL instead of RUSTFLAGS, but the Cargo version used from bootstrapping doesn't seem to pick that up yet. |
@michaelwoerister perhaps the compiletest support for run-make could delete the env var from spawned processes? |
I'll look into that. It would only be consistent with the rest of |
Yeah, that seems to be sufficient to fix the run-make tests. I just pushed a commit to that effect. |
Oh I think we've got |
6e172a4
to
d292e12
Compare
Updated. |
@bors: r+ |
📌 Commit d292e12 has been approved by |
💔 Test failed - status-travis |
… On Mon, Jan 30, 2017 at 4:02 PM, bors ***@***.***> wrote:
💔 Test failed - status-travis
<https://travis-ci.org/rust-lang/rust/builds/196772195>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#38847 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95Eqf-XMX4PWtKECSnULeNy0NX2lgks5rXnoFgaJpZM4LbvIN>
.
|
⌛ Testing commit d292e12 with merge 36e0616... |
💔 Test failed - status-travis |
… On Mon, Jan 30, 2017 at 7:28 PM, bors ***@***.***> wrote:
💔 Test failed - status-travis
<https://travis-ci.org/rust-lang/rust/builds/196815213>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#38847 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95GZ3mKDq94eEbyJVFBqL_gkPCdssks5rXqpLgaJpZM4LbvIN>
.
|
…hton travis: Gate on some minimal support for incremental compilation. This commit adds a travis job that 1. builds a stage2 compiler in incremental mode (but with empty incremental compilation cache), and 2. builds and runs the run-pass test suite also in incremental mode. Building incrementally with an empty cache makes sure that the compiler doesn't crash in dependency tracking during bootstrapping. Executing the incrementally built test suite gives some measure of confidence that we generate valid code. Note, however, that the above does not give strong guarantees about the validity of incremental compilation, it just provides a basis for being able to rely on from-scratch incr. comp. builds as reference values in further tests (which then do actual incremental compilation). r? @alexcrichton
☀️ Test successful - status-appveyor, status-travis |
This commit adds a travis job that
Building incrementally with an empty cache makes sure that the compiler doesn't crash in dependency tracking during bootstrapping. Executing the incrementally built test suite gives some measure of confidence that we generate valid code.
Note, however, that the above does not give strong guarantees about the validity of incremental compilation, it just provides a basis for being able to rely on from-scratch incr. comp. builds as reference values in further tests (which then do actual incremental compilation).
r? @alexcrichton