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

build: dist: defer PlainSourceTarball #93047

Merged
merged 1 commit into from
Jan 23, 2022

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Jan 18, 2022

Apparently it changes some tool sources and invalidates their fingerprints, forcing us to build them several times (before and after vendoring sources).
I have not dug into why vendoring actually invalidates the figreprints, but moving the vendoring lower in the pipeline seems to avoid the issue.
I could imagine that we somehow write a .cargo/config somewhere which somehow makes subsequent builds use the vendored deps but I was not able to find anything.

I checked the sizes of generated archives pre and post patch and their are the same, so I hope there is no functional change.

Fixes #93033

@rust-highfive
Copy link
Collaborator

r? @Mark-Simulacrum

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 18, 2022
Apparently it changes some tool sources and invalidates their fingerprints, forcing us to build them several times (before and after vendoring sources).
I have not dug into why vendoring actually invalidates the figreprints, but the moving the vendoring lower in the pipeline seems to avoid the issue.
I could imagine that we somehow write a .cargo/config somewhere which somehow makes subsequent builds use the vendored deps but I was not able to find anything.

I checked the sizes of generated archives pre and post patch and their are the same, so I hope there is not functional change.

Fixes rust-lang#93033
@Mark-Simulacrum
Copy link
Member

This seems okay to me, but it does seem bad that just generating the tarball has effects; it shouldn't. I can't seem to reproduce locally, either, though I haven't spent too long on various attempts -- it sounds like you were able to, though -- maybe you can comment with some steps on doing so?

@bors r+

@bors
Copy link
Contributor

bors commented Jan 19, 2022

📌 Commit 5f58a78 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 19, 2022
@matthiaskrgr
Copy link
Member Author

hmm, the commands I ran were ./x.py build and then ./x.py dist.
dist would then rebuild root crates of tools that build already had compiled.
For debugging CARGO_LOG=cargo::core::compiler::fingerprint=info ./x.py dist.

Did a bit of braindumping at https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/what.20happened.20in.20july.202020.3F/near/268404026 but it's not much.

@Mark-Simulacrum
Copy link
Member

Ah, I see. OK, well, maybe I'll spend some cycles trying to track the cause down but seems somewhat unlikely.

@matthiaskrgr
Copy link
Member Author

@bors rollup=never in case it breaks something

@bors
Copy link
Contributor

bors commented Jan 23, 2022

⌛ Testing commit 5f58a78 with merge 1e40679...

@bors
Copy link
Contributor

bors commented Jan 23, 2022

☀️ Test successful - checks-actions
Approved by: Mark-Simulacrum
Pushing 1e40679 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 23, 2022
@bors bors merged commit 1e40679 into rust-lang:master Jan 23, 2022
@rustbot rustbot added this to the 1.60.0 milestone Jan 23, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1e40679): comparison url.

Summary: This benchmark run did not return any relevant changes.

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

x.py dist builds tools twice due to dependency vendoring?
6 participants