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

Update cargo #108665

Merged
merged 2 commits into from
Mar 8, 2023
Merged

Update cargo #108665

merged 2 commits into from
Mar 8, 2023

Conversation

weihanglo
Copy link
Member

@weihanglo weihanglo commented Mar 2, 2023

25 commits in 9880b408a3af50c08fab3dbf4aa2a972df71e951..7d3033d2e59383fd76193daf9423c3d141972a7d
2023-02-28 19:39:39 +0000 to 2023-03-08 17:05:08 +0000


This update is primarily for making rust-lang/cargo#11630 into 1.69 (will file a beta backport then). However, just look into the licenses and dependencies permitted list, it looks a bit unfortunate but inevitable I guess?

r? @ehuss
cc @Muscraft

@rustbot
Copy link
Collaborator

rustbot commented Mar 2, 2023

⚠️ Warning ⚠️

  • These commits modify submodules.

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 2, 2023
@rustbot
Copy link
Collaborator

rustbot commented Mar 2, 2023

These commits modify the Cargo.lock file. Random changes to Cargo.lock can be introduced when switching branches and rebasing PRs.
This was probably unintentional and should be reverted before this PR is merged.

If this was intentional then you can ignore this comment.

Some changes occurred in src/tools/cargo

cc @ehuss

@weihanglo
Copy link
Member Author

@bors rollup=never

src/tools/tidy/src/deps.rs Outdated Show resolved Hide resolved
@ehuss
Copy link
Contributor

ehuss commented Mar 2, 2023

I reached out to the compiler team to look at the dependency update for tempfile at https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/tempfile.20update/near/339174848.

It looks like it introduces a new warning in compiler/rustc_data_structures/src/temp_dir.rs which needs the same fix as was done in cargo.

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Mar 3, 2023
@weihanglo
Copy link
Member Author

@ehuss This is ready for a second round of review. I hope the fix looks fine.

@ehuss
Copy link
Contributor

ehuss commented Mar 4, 2023

@bors r+ p=1

@bors
Copy link
Contributor

bors commented Mar 4, 2023

📌 Commit b51d127bb02b76ece6de30a2dba98e8502ab4cae has been approved by ehuss

It is now in the queue for this repository.

@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 Mar 4, 2023
@bors
Copy link
Contributor

bors commented Mar 4, 2023

⌛ Testing commit b51d127bb02b76ece6de30a2dba98e8502ab4cae with merge aaa448d5735672b51256df9283469b4ed9887938...

@bors
Copy link
Contributor

bors commented Mar 4, 2023

💔 Test failed - checks-actions

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

It appears to be a problem with rustix containing references to pwritev64v2 and preadv64v2 which are not defined on older GLIBC versions. I'm preparing a rustix update.

@sunfishcode
Copy link
Member

I've now released rustix 0.36.9 with a fix for the pwritev64v2/preadv64v2 error.

@weihanglo
Copy link
Member Author

@sunfishcode thanks for the quick patch!

I'll go ahead and merge it. Please shout out if you think it is wrong.

@bors r+ p=1 rollup=never

@bors
Copy link
Contributor

bors commented Mar 4, 2023

📌 Commit e22675fd186a5d09cfca2690e0e7ee3cfdff402b has been approved by weihanglo

It is now in the queue for this repository.

@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 Mar 4, 2023
@rust-log-analyzer

This comment has been minimized.

@weihanglo
Copy link
Member Author

Now rust-lang/cargo#11738 is reverted.
Let's give @bors try another chance.

@bors
Copy link
Contributor

bors commented Mar 8, 2023

⌛ Trying commit 2fc970321353d3677952cb219e728c44fd47c71c with merge 62c208e611d34224f83b96ca5b49e8a43c72096a...

@bors
Copy link
Contributor

bors commented Mar 8, 2023

☀️ Try build successful - checks-actions
Build commit: 62c208e611d34224f83b96ca5b49e8a43c72096a (62c208e611d34224f83b96ca5b49e8a43c72096a)

@weihanglo
Copy link
Member Author

It passed!
@bors r+

@bors
Copy link
Contributor

bors commented Mar 8, 2023

📌 Commit 8ac95bb has been approved by weihanglo

It is now in the queue for this repository.

@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 Mar 8, 2023
@bors
Copy link
Contributor

bors commented Mar 8, 2023

⌛ Testing commit 8ac95bb with merge 900c354...

@bors
Copy link
Contributor

bors commented Mar 8, 2023

☀️ Test successful - checks-actions
Approved by: weihanglo
Pushing 900c354 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 8, 2023
@bors bors merged commit 900c354 into rust-lang:master Mar 8, 2023
@rustbot rustbot added this to the 1.70.0 milestone Mar 8, 2023
@weihanglo weihanglo deleted the update-cargo branch March 8, 2023 22:49
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (900c354): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.3% [0.3%, 0.4%] 8
Regressions ❌
(secondary)
0.3% [0.1%, 0.5%] 13
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.3%] 2
All ❌✅ (primary) 0.3% [0.3%, 0.4%] 8

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
3.2% [3.1%, 3.2%] 2
Regressions ❌
(secondary)
0.9% [0.9%, 0.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.1% [-2.4%, -1.7%] 3
All ❌✅ (primary) 3.2% [3.1%, 3.2%] 2

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.8% [0.7%, 0.8%] 2
Regressions ❌
(secondary)
1.3% [1.3%, 1.4%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [0.7%, 0.8%] 2

@rustbot rustbot added the perf-regression Performance regression. label Mar 9, 2023
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@Mark-Simulacrum Mark-Simulacrum added the perf-regression-triaged The performance regression has been triaged. label Mar 14, 2023
@Mark-Simulacrum
Copy link
Member

This looks quite likely to be noise, so marking as triaged.

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 16, 2023
…ehuss

Make cargo a workspace

8 commits in 7bf43f028ba5eb1f4d70d271c2546c38512c9875..39116ccc9b420a883a98a960f0597f9cf87414b8
2023-04-10 16:01:41 +0000 to 2023-04-15 20:24:15 +0000

- Make cargo a workspace (rust-lang/cargo#11851)
- Fix flaky not_found_permutations test. (rust-lang/cargo#11976)
- Use restricted Damerau-Levenshtein algorithm (rust-lang/cargo#11963)
- Correct the bug report for `cargo clippy --fix` (rust-lang/cargo#11882)
- Stabilize `cargo logout` (rust-lang/cargo#11950)
- Add more information to HTTP errors to help with debugging. (rust-lang/cargo#11878)
- Use registry.default for login/logout (rust-lang/cargo#11949)
- Change -C to be unstable (rust-lang/cargo#11960)

---

### What does this PR try to resolve?

Making cargo a workspace.

Why doing this?

* `rustc-workspace-hack` is primarily for sharing dependencies between rls and cargo, as rls previously depends on cargo. After rls retired, it is no longer the case sharing dependencies.
* It's q bit painful that cargo needs to deal with some dependency and licensing complexities. For example, rust-lang#108665 failed because of the interaction bewteen `windows-sys` and `raw-dylib`. It currenctly blocks cargo's feature `-Zgitxodie` from moving forward.
* See rust-lang/cargo#11851

### Benchmark result

I've done a simple benchmark on both keeping or removing entire `rustc-workspace-hack`. It had no significant difference. Both took ~2m30s to finish `./x.py build -j8 src/tools/cargo src/tools/rls src/tools/clippy src/tools/miri src/tools/rustfmt`. Environment info:

```
host: aarch64-apple-darwin
os: Mac OS 13.2.1 [64-bit]
```

A sophisticated benchmark may be needed.

### Additional information

This depends on prior works from `@Muscraft` and `@ehuss.` Credits to them!
bors added a commit to rust-lang/cargo that referenced this pull request Apr 24, 2023
Update windows-sys

This updates the windows-sys dependency from 0.45 to 0.48. This shouldn't add or remove any duplicate dependencies (since there are other dependencies still using 0.45 and 0.42). The intent is to move it along the direction towards unifying in the future (though it seems like a moving target that will be difficult to ever hit).

This also bumps the home crate version. I think it should be OK to make the migration from winapi to windows-sys a patch version, though there seems to be some issues with the way windows-sys works that could introduce some build-time problems in some situations (such as those encountered in rust-lang/rust#108665 and rust-lang/rust#106610). However, I don't expect too much of an issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants