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

[stable-1.69] Add the Win32_System_Console feature since it is used #12017

Merged
merged 3 commits into from
Apr 25, 2023

Conversation

lu-zero
Copy link
Contributor

@lu-zero lu-zero commented Apr 22, 2023

In src/cargo/core/shell.rs windows_sys::Win32::System::Console is used but the feature is not present in Cargo.toml.

I found it while updating cargo-c. (now for the 1.69.0 branch)

@rustbot
Copy link
Collaborator

rustbot commented Apr 22, 2023

r? @epage

(rustbot has picked a reviewer for you, use r? to override)

@rustbot
Copy link
Collaborator

rustbot commented Apr 22, 2023

⚠️ Warning ⚠️

  • Pull requests are usually filed against the master branch for this repo, but this one is against rust-1.69.0. Please double check that you specified the right target!

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 22, 2023
@@ -90,6 +90,7 @@ features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_System_IO",
"Win32_System_Console",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a heads up, as this is a backport into the rust-1.69.0 branch, that implies that we'd be doing a patch release of rust for this. Could you expand on why that is needed? By appearance, this should only be needed for cargo-as-a-library and this problem can easily be worked around in the dependent crate by requiring the feature.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed the issue in cargo-c this way, here how it present itself.

I prepared it in case we want a point release.

@epage
Copy link
Contributor

epage commented Apr 23, 2023

For reference, #12016 fixes this in master

@ehuss ehuss added the T-cargo Team: Cargo label Apr 23, 2023
@ehuss
Copy link
Contributor

ehuss commented Apr 23, 2023

@rfcbot fcp merge

@rust-lang/cargo I think it would be good to backport this to both stable and beta. The current 0.70.0 release of the library doesn't build on Windows due to a missing feature.

This PR will also need to bump the patch version in Cargo.toml, and also backport #12011 to get CI to pass. We can then publish the new version to crates.io (no need for a stable release of Rust itself). I can handle those after this FCP passes.

The reason this happened is because cargo-util in tree includes the feature, but the version number of cargo-util was never bumped after it was changed, so the version of cargo-util on crates.io is outdated.

@weihanglo Part of the release process (documented here) is to check if any of the in-tree crate versions need to be bumped. It seems like this process broke down. Is there some way we can improve the process to make sure this doesn't happen in the future?

Also, does anyone have any ideas on how to catch this in CI? I'm thinking of perhaps some way to check if cargo-the-library can be built, but that inherently needs its dependencies to be "published", which is the very reason this failed, so I'm not sure offhand how best to do that.

@rfcbot
Copy link
Collaborator

rfcbot commented Apr 23, 2023

Team member @ehuss has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period An FCP proposal has started, but not yet signed off. disposition-merge FCP with intent to merge labels Apr 23, 2023
@weihanglo
Copy link
Member

Part of the release process (documented here) is to check if any of the in-tree crate versions need to be bumped. It seems like this process broke down. Is there some way we can improve the process to make sure this doesn't happen in the future

A simple proposal: In CI, use git diff to compare latest version and current local If there are some changes, fail the CI and require at least a version bump. Also, we can leverage cargo-semver-checks to ensure the semver compatibility.

@epage
Copy link
Contributor

epage commented Apr 24, 2023

A simple proposal: In CI, use git diff to compare latest version and current local If there are some changes, fail the CI and require at least a version bump. Also, we can leverage cargo-semver-checks to ensure the semver compatibility.

I recommend we evaluate the use of cargo release.

  1. When releasing a crate, it will warn you if you leaving out a crate
  2. cargo release changes will show all commits for each crate, highlighting conventional commit fields of interest

These both require tags to be associated with the crates, though you can share tags across crates. It knows which commits are for a crate by using cargo package --list.

@rfcbot rfcbot added final-comment-period FCP — a period for last comments before action is taken and removed proposed-final-comment-period An FCP proposal has started, but not yet signed off. labels Apr 24, 2023
@rfcbot
Copy link
Collaborator

rfcbot commented Apr 24, 2023

🔔 This is now entering its final comment period, as per the review above. 🔔

@ehuss
Copy link
Contributor

ehuss commented Apr 25, 2023

I opened #12033 to continue the discussion of how to deal with versioning. Feel free to leave ideas over there on how we can better manage them.

bors and others added 2 commits April 25, 2023 11:29
Fix semver checks for 1.69

There is a small wording change in the 1.69 release that was causing this test to fail.
@rustbot rustbot added the A-documenting-cargo-itself Area: Cargo's documentation label Apr 25, 2023
@ehuss ehuss changed the title Add the Win32_System_Console feature since it is used [stable-1.69] Add the Win32_System_Console feature since it is used Apr 25, 2023
@ehuss
Copy link
Contributor

ehuss commented Apr 25, 2023

@bors r+

@bors
Copy link
Collaborator

bors commented Apr 25, 2023

📌 Commit 8cdc12c 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 Apr 25, 2023
@bors
Copy link
Collaborator

bors commented Apr 25, 2023

⌛ Testing commit 8cdc12c with merge d71aa2e...

@bors
Copy link
Collaborator

bors commented Apr 25, 2023

☀️ Test successful - checks-actions
Approved by: ehuss
Pushing d71aa2e to rust-1.69.0...

@bors bors merged commit d71aa2e into rust-lang:rust-1.69.0 Apr 25, 2023
@rfcbot rfcbot added to-announce and removed final-comment-period FCP — a period for last comments before action is taken labels May 4, 2023
@ehuss ehuss added this to the 1.69.0 milestone Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-documenting-cargo-itself Area: Cargo's documentation disposition-merge FCP with intent to merge finished-final-comment-period FCP complete S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-cargo Team: Cargo to-announce
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants