Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd support for a nightly-alt toolchain #1099
Comments
This comment has been minimized.
This comment has been minimized.
|
@alexcrichton said this would be difficult, but it would kill two birds with one stone if we could produce manifests for these builds too. (It would support both this feature, and testing rust against rustup to make sure we don't get any more broken manifests on nightly) |
This comment has been minimized.
This comment has been minimized.
|
I think rustup needs some more support for installing non-channel builds, and the rust ci needs more support for deploying non-channel builds, for multiple reasons. I am not sure what solution I want for that though, and suspect that just teaching rustup to download that tarball by url is not sufficient. For my purposes, I need to be able to run experimental commits through Rust's release builders and have them deploy to somewhere, so that cargobomb can find them via rustup. For that I might expect there to be a dedicated branch that people can submit PRs to in order to deploy a build, perhaps with most platforms turned off. Those builds get fed into RCS to deploy a non-signed build to a special location. None of the releases that come out of this system should be mistaken for official releases. I would not put them in the same location w/in static.rust-lang.org where they will pollute our directory structure with unofficial junk. I would make rustup print big warnings about using any of these releases, especially since rustup doesn't actually deal with sigs today. There would need to be some new toolchain naming scheme. I'd be inclined to say something like "dev-$sha", except that wouldn't accommodate "master-alt", which is just a different build of the same commit. I am not enthusiastic at all about advertising "master-alt" - having a secret unofficial nightly channel that those in the know use to get a "fast" nightly is not desirable to me. If nighties should be fast we should make them fast. If we really need to give our users two completely different releases of nightly then I might prefer to give it a more considered design. These builds exist today as a hack for servo. |
This comment has been minimized.
This comment has been minimized.
This sounds wrong to me, even though these builds do make my life easier and I am grateful to everyone who worked on making them available. If Servo can have nice things, everybody should have access to them as well. This thread is about making them easier to get.
What that does sound useful and could potentially use a shared more general mechanism, that mechanism doesn’t exist yet and doesn’t seem necessary for getting the "alt" builds that already exist.
I’d be fine with switching Servo back to nightly (letting go of "test fixes as soon as they’re merged") if we’re willing to disable LLVM assertions in nightly. I’ll start an internals thread about that. |
Diggsey
added this to Features (need further discussion or refinement)
in Issue Categorisation
May 12, 2017
tomprince
referenced this issue
Jun 5, 2017
Merged
Add support from installing toolchains from try builds. #83
This comment has been minimized.
This comment has been minimized.
https://internals.rust-lang.org/t/disabling-llvm-assertions-in-nightly-builds/5388 |
SimonSapin
referenced this issue
Jun 12, 2017
Closed
Overrides that can be checked in to version control #460
This comment has been minimized.
This comment has been minimized.
|
What is desired here is mostly to make "alt" toolchains available with rustup somehow. If they are addressed by commit hash (as Another option is to add |
This comment has been minimized.
This comment has been minimized.
shinglyu
commented
Aug 21, 2017
|
Any update or decision on this? |
SimonSapin
referenced this issue
Aug 31, 2017
Merged
Switch back to pinning Rust by Nightly date instead of commit hash… #18325
bors-servo
added a commit
to servo/servo
that referenced
this issue
Aug 31, 2017
SimonSapin
added a commit
to SimonSapin/rust
that referenced
this issue
Aug 31, 2017
SimonSapin
referenced this issue
Aug 31, 2017
Merged
Add full git commit hash to release channel manifests #44218
This comment has been minimized.
This comment has been minimized.
|
rust-lang/rust#44218 is a first step. |
moz-v2v-gh
pushed a commit
to mozilla/gecko-dev
that referenced
this issue
Sep 1, 2017
xeonchen
pushed a commit
to xeonchen/gecko-cinnabar
that referenced
this issue
Sep 1, 2017
aethanyc
pushed a commit
to aethanyc/gecko-dev
that referenced
this issue
Sep 2, 2017
Mark-Simulacrum
added a commit
to Mark-Simulacrum/rust
that referenced
this issue
Sep 6, 2017
Mark-Simulacrum
added a commit
to Mark-Simulacrum/rust
that referenced
this issue
Sep 7, 2017
SimonSapin
changed the title
Add support for master and master-alt toolchains
Add support for a nightly-alt toolchain
Oct 16, 2017
SimonSapin
referenced this issue
Oct 17, 2017
Closed
Making alt build available together with Nightly #45334
This comment has been minimized.
This comment has been minimized.
|
rust-lang/rust#45810 remove the compile-time incentive to use alternate builds, and https://internals.rust-lang.org/t/public-stable-rust-services/6072 clarifies that CI builds are not intended for “public consumption”. So this issue is obsolete. |
SimonSapin commentedMay 8, 2017
•
edited
Edit:
rust-lang-ciis ephemeral, so the proposal is now to add onenightly-altchannel adressed by date likenightly.The builds made for testing every Rust pull request before merging are made available at:
https://s3.amazonaws.com/rust-lang-ci/rustc-builds/$SHA1/rust-nightly-$HOST_TRIPLE.tar.gzhttps://s3.amazonaws.com/rust-lang-ci/rustc-builds-alt/$SHA1/rust-nightly-$HOST_TRIPLE.tar.gz… where
$SHA1is the full hex hash of a merge commit made by @bors.The latter was added in rust-lang/rust#39754. It includes a smaller number of platforms, and disables LLVM assertions which weakens compiler testing but improves compiler performance.
Servo has been using these builds. They prove useful both for the performance improvement and for testing for example a bug fix that has been merged without waiting for the next Nightly (which sometimes takes several additional days).
Servo does this with custom rustup-like Python scripts. These builds can be used in rustup with
rustup toolchain link FOO /path/to/extracted/tarball, but downloading them and extracting them manually can get tedious. Automating this approaches re-inventing rustup, so it would be nicer if rustup could support it directly.masterandmaster-altcould be added to the toolchains rustup knows about out of the box likestableandnightly. The hash of the current latest commit can be found in https://api.github.com/repos/rust-lang/rust/git/refs/heads/master. These toolchains would also support specifying a precise hash, likestableandnightlysupport a version number and a date:@brson How does this sound?