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

Tag commits here with the version of rustc they were released with? #3101

Closed
carols10cents opened this issue Sep 19, 2016 · 9 comments
Closed

Comments

@carols10cents
Copy link
Member

carols10cents commented Sep 19, 2016

I was trying to make absolutely sure that the registry replacement capability was in beta to resolve this comment, and I had a really hard time figuring out which commit of cargo was released with which version of rustc, as I detailed over in rust-lang-deprecated/rust-packaging#59.

I got excited for a minute when I saw that there were tags in this repo, but those are cargo versions, not rustc versions.

Could we tag commits in this repo when a rustc release goes out pretty pretty please? 🍨🌸

I don't think github's made a way to send a PR for tags yet, so instead I made commands for someone with push access to copy and paste!! (or alter then copy and paste)

I don't have the SHA for rustc-1.0.0 because buildbot doesn't go back that far, as i mentioned on rust-lang-deprecated/rust-packaging#59, and I didn't include a tag for rustc-1.12.0 since it hasn't been released yet.

git tag rustc-1.1.0 a48358155c90467ed9c897930dd0da4614605dac
git tag rustc-1.2.0 15b497b10c8261f09f15130595f696fcf29c3619
git tag rustc-1.3.0 553b363bcfcf444c5bd4713e30382a6ffa2a52dd
git tag rustc-1.4.0 833b947016f4fb5269ef4bc5448e4d79eb3b475b
git tag rustc-1.5.0 e1ed9956e079a563796fb380871f4b67619f58ee
git tag rustc-1.6.0 1af03beaffe9be40ae81ca39431c1f1651ef6b02
git tag rustc-1.7.0 9ebfb9b6d2bad7f9640ae012fae686ceeab7b084
git tag rustc-1.8.0 8fc3fd8df3857f3e77454c992458cd7baeeb622b
git tag rustc-1.9.0 10ddd7d5b3080fb0fa6c720cedca64407d4ca2f9
git tag rustc-1.10.0 259324cd8f9bb6e1068a3a2b77685e90fda3e3b6
git tag rustc-1.11.0 6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93
@alexcrichton
Copy link
Member

There should be a Cargo version tag for each release, but is that not enough?

@alexcrichton
Copy link
Member

(there's also a direct mapping from a rustc version to a Cargo version)

@carols10cents
Copy link
Member Author

(there's also a direct mapping from a rustc version to a Cargo version)

Ooooooh. That's what I was missing :( Can I add a note about that to the README?

I checked the SHAs I have above with the SHAs that the cargo repo has tagged and I found some mismatches. For the mismatches, I rustup installed to see which one was actually shipped. One is my mistake; a few others didn't match the tags' SHAs:

rustc version rustc SHA cargo SHA cargo version match?
1.11.0 6b98d1f 6b98d1f 0.12.0
1.10.0 259324c 259324c 0.11.0
1.9.0 10ddd7d 10ddd7d 0.10.0
1.8.0 8fc3fd8 8fc3fd8 0.9.0
1.7.0 9ebfb9b 28a0cbb 0.8.0 ❌ - cargo tag is correct
1.6.0 1af03be 1af03be 0.7.0
c7c4137 0.6.1
1.5.0 e1ed995 e1ed995 0.6.0
1.4.0 833b947 8d21fd2 0.5.0 cargo tag is incorrect
1.3.0 553b363 553b363 0.4.0
1.2.0 15b497b a2dd2ac 0.3.0 cargo tag is incorrect
1.1.0 a483581 83a6d0e 0.2.0 cargo tag is incorrect
1.0.0 unknown efb482d cargo tag is missing
d6dbce7 0.0.1-pre

When I installed rustc 1.4.0, I got cargo --version = cargo 0.5.0-nightly (833b947 2015-09-13), which is the SHA I found from buildbot but not the SHA that is tagged with 0.5.0 here.

Same with rustc 1.2.0: cargo --version = cargo 0.4.0-nightly (15b497b 2015-07-08) (built 2015-07-09), rustc 1.1.0: cargo --version = cargo 0.2.0-nightly (a483581 2015-05-14) (built 2015-05-15) and rustc 1.0.0, which gave me a version that said 0.2.0 when I expected 0.1.0: cargo --version = cargo 0.2.0-nightly (efb482d 2015-04-30) (built 2015-04-29)

Also, what was cargo v0.6.1 for? I was going to guess that it was bumped between beta and stable, but if that was the case I would have expected the released version of rustc 1.5.0 to ship with cargo 0.6.1 but it came with the SHA that the cargo 0.6.0 tag has. Same question with v0.0.1-pre, that didn't seem to go with a rustc release.

Once we get everything matching up, I think a table in cargo's README that has the rustc version and cargo version associations would be helpful-- may I add that?

@alexcrichton
Copy link
Member

Hm what's the "rustc SHA" vs "cargo SHA" column? Is that comparing the cargo --version with the tag itself?

For 1.7.0 I get 28a0cbb for both

I think 0.6.1 was only published to crates.io, although I forget why :(. I think was fixing build breakage caused by a breaking change in the compiler?

I suspect I made the wrong tag for rustc 1.4.0 and cargo 0.5.0, can probably change that to 833b947

The cargo 0.3.0 (rustc 1.2.0) tag seems way off, no idea why it's saying it's cargo 0.4.0. Dunno what's going on there :(

Similarly the 0.2.0 tag is way out of sync with rustc 1.1.0's cargo. Also no idea what happened here.

Maybe I was just terrible at tagging in the early days? I vaguely remember we tagged things too early sometimes. I think this happened when I tagged a release when it went to beta, and then during that cycle we fast-forwarded Cargo to pick up bug fixes (but I didn't update the tag). In these cases I should probably update the tag to what we actually shipped.

@alexcrichton
Copy link
Member

Oh and as for 0.0.1-pre, I... actually have no idea what that is.

@carols10cents
Copy link
Member Author

Hm what's the "rustc SHA" vs "cargo SHA" column? Is that comparing the cargo --version with the tag itself?

The rustc SHA in the table is the SHA that I got from looking at buildbot on the date that the rust-packaging/cargo-revs.txt file said it was using; the cargo SHA is the SHA that goes with each cargo tag itself.

I was trying to avoid installing every rustc version, so I didn't bother when the buildbot SHA matched the cargo tag SHA, but I did install the rustc version and then run cargo --version when there was a mismatch to see what was ACTUALLY shipped.

For 1.7.0 I get 28a0cbb for both

Yup, 1.7.0 was my mistake somehow; the SHA I got from buildbot was incorrect.

Wdyt about including the table mapping rustc version to cargo tagged version somewhere? If you're into that, let me know when you've fixed the tags and I'll be happy to make a table :) Thank you!!!!

@alexcrichton
Copy link
Member

Sounds good to me! Could you collect an updated list of tags for me to update?

@carols10cents
Copy link
Member Author

carols10cents commented Sep 29, 2016

This is what I think should happen, definitely check me:

git tag -f 0.5.0 833b947
git tag -f 0.3.0 15b497b
git tag -f 0.2.0 a483581
git tag 0.1.0 efb482d

I'm assuming we're not going to worry about the version number that the installed cargo --version reports not matching the tags for some of these, since that'd be a pain in the butt to update the old releases and it doesn't really matter if the SHAs are the source of truth.

@alexcrichton
Copy link
Member

Ok, fixed!

bors added a commit that referenced this issue Oct 3, 2016
Add information about Cargo releases going with Rust releases

Closes #3101.

This just adds a table of rust release numbers to cargo release numbers, and some text that clarifies that they happen together.

I put the table behind a details tag, which Chrome renders really nicely with a little toggle triangle... Firefox will do the toggling *functionality* but doesn't have much of an indication that you can click on the text, but I think they're working on it. Servo has a little triangle but nothing happens when you click on it ;)
@bors bors closed this as completed in #3147 Oct 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants