Skip to content
This repository was archived by the owner on Apr 5, 2024. It is now read-only.

Pinning a nightly toolchain version #131

Merged
merged 3 commits into from
Oct 13, 2020
Merged

Conversation

elichai
Copy link
Contributor

@elichai elichai commented Jul 22, 2020

Hi,
This repo currently doesn't work on latest nightly, and it's hard to keep up with each nightly, so what tools like miri and others do is pin a specific nightly version and bump it as often as they like, that way you batch fixes and don't need to run around fixing it every day.

using bisect-rustc(https://github.com/rust-lang/cargo-bisect-rustc) with rustc-dev enabled(rust-lang/cargo-bisect-rustc#101) I was able to find the latest nightly we can still compile against, from that I looked for the latest one that contains dev tools like clippy, rustfmt, etc. and that's how I got to nightly-2020-06-10:

Bisect output

$ cargo bisect-rustc --preserve --with-dev --start 2020-06-02 -- check                                                                                                                                                     
installing nightly-2020-06-02                                                                                                           
llvm-tools: 18.76 MB / 18.76 MB [=========================================================================================================================================================================================================================] 100.00 % 10.71 MB/s 
testing...                                                                                                                              
RESULT: nightly-2020-06-02, ===> No                                                                                                                                                                                                                                             
                                                                    
installing nightly-2020-07-11                                                                                                           
testing...
RESULT: nightly-2020-07-11, ===> Yes

installing nightly-2020-06-21
llvm-tools: 18.84 MB / 18.84 MB [=========================================================================================================================================================================================================================] 100.00 % 10.12 MB/s 
testing...
RESULT: nightly-2020-06-21, ===> Yes

installing nightly-2020-06-11
llvm-tools: 18.77 MB / 18.77 MB [==========================================================================================================================================================================================================================] 100.00 % 6.20 MB/s 
testing...
RESULT: nightly-2020-06-11, ===> No

installing nightly-2020-06-16
llvm-tools: 18.84 MB / 18.84 MB [==========================================================================================================================================================================================================================] 100.00 % 5.60 MB/s 
testing...
RESULT: nightly-2020-06-16, ===> Yes

installing nightly-2020-06-13
llvm-tools: 18.84 MB / 18.84 MB [==========================================================================================================================================================================================================================] 100.00 % 6.73 MB/s 
testing...
RESULT: nightly-2020-06-13, ===> No

installing nightly-2020-06-14
llvm-tools: 18.84 MB / 18.84 MB [==========================================================================================================================================================================================================================] 100.00 % 7.00 MB/s 
testing...
RESULT: nightly-2020-06-14, ===> No

installing nightly-2020-06-15
llvm-tools: 18.83 MB / 18.83 MB [=======================================================================================================================================================================================================================] 100.00 % 6.96 MB/s 0s 
testing...
RESULT: nightly-2020-06-15, ===> No

searched toolchains nightly-2020-06-02 through nightly-2020-07-11


********************************************************************************
Regression in nightly-2020-06-16
********************************************************************************

$ rustup install nightly-2020-06-16
info: syncing channel updates for 'nightly-2020-06-16-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-16, rust version 1.46.0-nightly (f315c35a7 2020-06-15)
error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download for channel nightly-2020-06-16
Sometimes not all components are available in any given nightly.

$ rustup install nightly-2020-06-15
info: syncing channel updates for 'nightly-2020-06-15-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-15, rust version 1.46.0-nightly (4fb54ed48 2020-06-14)
error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download for channel nightly-2020-06-15
Sometimes not all components are available in any given nightly.

$ rustup install nightly-2020-06-14
info: syncing channel updates for 'nightly-2020-06-14-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-14, rust version 1.46.0-nightly (06e47688b 2020-06-13)
error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download for channel nightly-2020-06-14
Sometimes not all components are available in any given nightly.

$ rustup install nightly-2020-06-13
info: syncing channel updates for 'nightly-2020-06-13-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-13, rust version 1.46.0-nightly (f4fbb9311 2020-06-12)
error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download for channel nightly-2020-06-13
Sometimes not all components are available in any given nightly.

$ rustup install nightly-2020-06-12
info: syncing channel updates for 'nightly-2020-06-12-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-12, rust version 1.46.0-nightly (a37c32e2d 2020-06-11)
error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download for channel nightly-2020-06-12
Sometimes not all components are available in any given nightly.

$ rustup install nightly-2020-06-11
info: syncing channel updates for 'nightly-2020-06-11-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-11, rust version 1.46.0-nightly (449e8eaa2 2020-06-10)
error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download for channel nightly-2020-06-11
Sometimes not all components are available in any given nightly.

$ rustup install nightly-2020-06-10
info: syncing channel updates for 'nightly-2020-06-10-x86_64-unknown-linux-gnu'
info: latest update on 2020-06-10, rust version 1.46.0-nightly (feb3536eb 2020-06-09)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
 12.2 MiB /  12.2 MiB (100 %)  10.0 MiB/s in  1s ETA:  0s
info: downloading component 'rust-std'
 15.8 MiB /  15.8 MiB (100 %)   9.5 MiB/s in  1s ETA:  0s
info: downloading component 'rustc'
 47.4 MiB /  47.4 MiB (100 %)   9.2 MiB/s in  5s ETA:  0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: Defaulting to 500.0 MiB unpack ram
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
 47.4 MiB /  47.4 MiB (100 %)  16.0 MiB/s in  2s ETA:  0s
info: installing component 'rustfmt'

  nightly-2020-06-10-x86_64-unknown-linux-gnu installed - rustc 1.46.0-nightly (feb3536eb 2020-06-09)

$ rustup component add rustc-dev llvm-tools-preview --toolchain=nightly-2020-06-10
info: downloading component 'rustc-dev'
info: installing component 'rustc-dev'
info: Defaulting to 500.0 MiB unpack ram
 70.4 MiB /  70.4 MiB (100 %)  15.7 MiB/s in  4s ETA:  0s
info: downloading component 'llvm-tools-preview'
 18.8 MiB /  18.8 MiB (100 %)   6.7 MiB/s in  3s ETA:  0s
info: installing component 'llvm-tools-preview'
 18.8 MiB /  18.8 MiB (100 %)  16.2 MiB/s in  1s ETA:  0s

EDIT: I fixed the tests, changed the CI so it will use the pinned version, and modified the README to reflect the changes.
feel free to comment / ask for changes :)

@Xanewok
Copy link
Member

Xanewok commented Oct 12, 2020

Great work with cargo-bisect-rust, that's helpful! I hope you don't mind me pinning the version first, I wanted to clean up the current state a little bit first.

Could you rebase and skip the CI changes from here? It'd be great if we could get the ball rolling and start incrementally getting sermverver up to speed in terms of latest nightly support. Thank you!

@elichai
Copy link
Contributor Author

elichai commented Oct 13, 2020

@Xanewok Done

@Xanewok Xanewok merged commit 6ca81d4 into rust-lang:master Oct 13, 2020
@Xanewok
Copy link
Member

Xanewok commented Oct 13, 2020

Thank you!

@elichai elichai deleted the patch-1 branch October 14, 2020 07:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants