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

Switch back to pinning Rust by Nightly date instead of commit hash… #18325

Merged
merged 1 commit into from Aug 31, 2017

Conversation

@SimonSapin
Copy link
Member

SimonSapin commented Aug 31, 2017

… this time using a rust-toolchain file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)


Now if both system-rust and system-cargo are set to true in .servobuild’s [tools] section, and the corresponding rustc and cargo binaries are in fact rustup’s wrappers, then rustup will use the correct version based on rust-toolchain.

CC #11361

Unlike #17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed.


This change is Reviewable

@SimonSapin
Copy link
Member Author

SimonSapin commented Aug 31, 2017

@paulrouget Would this help you?

@SimonSapin
Copy link
Member Author

SimonSapin commented Aug 31, 2017

Note that rustup does not automatically install the specified version if it’s missing. Instead it fails with an error like:

error: override toolchain 'nightly-2017-08-30' is not installed
info: caused by: the toolchain file at '/home/simon/servo2/rust-toolchain' specifies an uninstalled toolchain

The fix is to run rustup install $(cat rust-toolchain). (Maybe there should be a rustup sub-command for that?)

@paulrouget
Copy link
Contributor

paulrouget commented Aug 31, 2017

So this would add a rust-toolchain file in servo?

That would help a lot. At the moment, I have to find manually which rustup nightly match the servo rustc build.

@SimonSapin
Copy link
Member Author

SimonSapin commented Aug 31, 2017

Yes, this PR adds rust-toolchain to replace rust-commit-hash (which previously replaced rust-nightly-date).

Since version 1.5.0, rustup uses that file to determine which toolchain to use.

… this time using a `rust-toolchain` file compatible with rustup:
https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)

----

Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section,
and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers,
then rustup will use the correct version based on `rust-toolchain`.

CC #11361

Unlike #17927,
this does not make mach use rustup directly.
@SimonSapin SimonSapin force-pushed the rustup-toolchain branch from 5e91164 to 56b4f3a Aug 31, 2017
@nox
Copy link
Member

nox commented Aug 31, 2017

@bors-servo
Copy link
Contributor

bors-servo commented Aug 31, 2017

📌 Commit 56b4f3a has been approved by nox

@SimonSapin
Copy link
Member Author

SimonSapin commented Aug 31, 2017

@bors-servo p=1

The next nightly broke something, I’ll do another rustup on top of this.

@bors-servo
Copy link
Contributor

bors-servo commented Aug 31, 2017

Testing commit 56b4f3a with merge 53e5fe578dc3cb2883cb28981ba70b78f34aea4a...

@bors-servo
Copy link
Contributor

bors-servo commented Aug 31, 2017

💔 Test failed - mac-dev-unit

@SimonSapin
Copy link
Member Author

SimonSapin commented Aug 31, 2017

@bors-servo retry

exceptions.Exception: Actual commit (b4393ef386b35e004ec1d595d1358c98eba5a0f7) differs from requested commit (53e5fe578dc3cb2883cb28981ba70b78f34aea4a)
@bors-servo
Copy link
Contributor

bors-servo commented Aug 31, 2017

Testing commit 56b4f3a with merge c4800a6...

bors-servo added a commit that referenced this pull request Aug 31, 2017
Switch back to pinning Rust by Nightly date instead of commit hash…

… this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)

----

Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`.

CC #11361

Unlike #17927, this does not make mach use rustup directly. That should wait until rust-lang/rustup#1099 is fixed.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18325)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Aug 31, 2017

@bors-servo bors-servo merged commit 56b4f3a into master Aug 31, 2017
3 of 4 checks passed
3 of 4 checks passed
continuous-integration/travis-ci/pr The Travis CI build failed
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
dependency-ci Dependencies checked
Details
homu Test successful
Details
@bors-servo bors-servo mentioned this pull request Aug 31, 2017
1 of 5 tasks complete
@SimonSapin SimonSapin deleted the rustup-toolchain branch Aug 31, 2017
@stshine
Copy link
Contributor

stshine commented Sep 10, 2017

Awesome!

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

Successfully merging this pull request may close these issues.

None yet

6 participants
You can’t perform that action at this time.