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.74] chore: bump cargo-credential-* crates as e58b84d broke stuff #13004

Merged
merged 4 commits into from
Nov 20, 2023

Conversation

weihanglo
Copy link
Member

@weihanglo weihanglo commented Nov 19, 2023

What does this PR try to resolve?

e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugins crates effectively depend on cargo-credential@0.4.0.
However, cargo@0.74.0 still depends oncargo-credential@0.3.0.
They must depends on the same major version of cargo-credential
otherwise incompatible.

Addresses #13002

In order to make CI pass, the following PRs are also cherry-picked:

How should we test and review this PR?

To-dos after PRs against each branch get merged:

  • Under rust-1.74.0 branch
    • Publish cargo-credential-wincred@0.4.0
    • Publish cargo-credential-macos-keychain@0.4.0
    • Publish cargo-credential-li@0.4.0
  • Under rust-1.75.0 branch
    • Bump the version to cargo-credential-wincred@0.4.1
    • Bump the version to cargo-credential-macos-keychain@0.4.1
    • Bump the version to cargo-credential-li@0.4.1
  • Under master branch`
    • Bump the version to cargo-credential-wincred@0.4.2
    • Bump the version to cargo-credential-macos-keychain@0.4.2
    • Bump the version to cargo-credential-li@0.4.2
  • Yank
    • Yank cargo-credential-wincred@0.3.1
    • Yank cargo-credential-macos-keychain@0.3.1
    • Yank cargo-credential-libsecret@0.3.2

Not sure if it is necessary to publish a new version of 0.3.x crates for cargo-credential-* before yanking, so I didn't put it in this plan.

e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugins crates effectively depend on `cargo-credential@0.4.0`.
However, `cargo@0.74.0` still depends on`cargo-credential@0.3.0`.
They must depends on the same major version of `cargo-credential`
otherwise incompatible.
@rustbot
Copy link
Collaborator

rustbot commented Nov 19, 2023

r? @ehuss

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

@rustbot
Copy link
Collaborator

rustbot commented Nov 19, 2023

⚠️ Warning ⚠️

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

@rustbot rustbot added A-credential-provider Area: credential provider for storing and retreiving credentials S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 19, 2023
@weihanglo weihanglo changed the title chore: bump cargo-credential-* crates as e58b84d broke stuff [stable-1.74] chore: bump cargo-credential-* crates as e58b84d broke stuff Nov 19, 2023
@rustbot rustbot added the A-dependency-resolution Area: dependency resolution and the resolver label Nov 19, 2023
epage and others added 2 commits November 19, 2023 10:48
Compiler plugins were removed in rust-lang/rust#116412, so we don't need
these tests.

As for the `plugin` field on build-targets, it appears to be
[stable-but-deprecated](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#the-plugin-field),
so I left it alone
@rustbot rustbot added the A-infrastructure Area: infrastructure around the cargo repo, ci, releases, etc. label Nov 19, 2023
weihanglo added a commit to weihanglo/cargo that referenced this pull request Nov 19, 2023
845c1bc

e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugins crates effectively depend on `cargo-credential@0.4.0`.
However, `cargo@0.74.0` still depends on`cargo-credential@0.3.0`.
They must depends on the same major version of `cargo-credential`
otherwise incompatible.

See rust-lang#13004 for more.
weihanglo added a commit to weihanglo/cargo that referenced this pull request Nov 19, 2023
e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugins crates effectively depend on `cargo-credential@0.4.0`.
However, `cargo@0.74.0` still depends on`cargo-credential@0.3.0`.
They must depends on the same major version of `cargo-credential`
otherwise incompatible.

See rust-lang#13004 for more.
weihanglo added a commit to weihanglo/cargo that referenced this pull request Nov 19, 2023
e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugins crates effectively depend on `cargo-credential@0.4.0`.
However, `cargo@0.74.0` still depends on`cargo-credential@0.3.0`.
They must depends on the same major version of `cargo-credential`
otherwise incompatible.

This PR

* bumps the version to `cargo-credential-wincred@0.4.2`
* bumps the version to `cargo-credential-macos-keychain@0.4.2`
* bumps the version to `cargo-credential-li@0.4.2`

See rust-lang#13004 for more.
@ehuss
Copy link
Contributor

ehuss commented Nov 20, 2023

I think that strategy sounds correct. Thank you!

@bors r+

@bors
Copy link
Collaborator

bors commented Nov 20, 2023

📌 Commit 9f68d56 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 Nov 20, 2023
@bors
Copy link
Collaborator

bors commented Nov 20, 2023

⌛ Testing commit 9f68d56 with merge 5c8a284...

@bors
Copy link
Collaborator

bors commented Nov 20, 2023

☀️ Test successful - checks-actions
Approved by: ehuss
Pushing 5c8a284 to rust-1.74.0...

@bors bors merged commit 5c8a284 into rust-lang:rust-1.74.0 Nov 20, 2023
22 checks passed
bors added a commit that referenced this pull request Nov 20, 2023
[beta-1.75.0] chore: bump `cargo-credential-*` crates as e58b84d broke stuff

e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugins crates effectively depend on `cargo-credential@0.4.0`.
However, `cargo@0.74.0` still depends on`cargo-credential@0.3.0`.
They must depends on the same major version of `cargo-credential`
otherwise incompatible.

This PR

* bumps the version to `cargo-credential-wincred@0.4.1`
* bumps the version to `cargo-credential-macos-keychain@0.4.1`
* bumps the version to `cargo-credential-li@0.4.1`

See #13004 for more.
@weihanglo weihanglo deleted the rust-1.74.0-bump-credential branch November 20, 2023 01:44
bors added a commit that referenced this pull request Nov 20, 2023
chore: bump `cargo-credential-*` crates as e58b84d broke stuff

e58b84d changed the shape of response of cargo credential protocol trait,
so credential plugin crates effectively depend on `cargo-credential@0.4.0`.
However, `cargo@0.74.0` still depends on`cargo-credential@0.3.0`.
They must depend on the same major version of `cargo-credential`
otherwise incompatible.

This PR

* bumps the version to `cargo-credential-wincred@0.4.2`
* bumps the version to `cargo-credential-macos-keychain@0.4.2`
* bumps the version to `cargo-credential-li@0.4.2`

See #13004 for more.
bors added a commit that referenced this pull request Nov 20, 2023
[stable 1.74] Bump cargo patch version

#13004 bumped the credential crate versions to deal with a semver-incompatible change, but I believe we also need to bump and publish cargo.

My thinking is that:
* cargo 0.75.0 currently depends on cargo-credential-libsecret="0.3.1"
    * The `Cargo.lock` is locked to **0.3.2**
* We plan to yank cargo-credential-libsecret 0.3.2
* Users who depend on cargo 0.75.0 as a library will be unable to do so since after yanking it will pick up cargo-credential-libsecret="0.3.1", but this won't work.
    * cargo 0.75.0 -> cargo-credential 0.4.0
    * cargo-credential-libsecret 0.3.1 -> cargo-credential **0.3.0**

(Users using a `Cargo.lock`, like doing rust builds, shouldn't be affected by the yank.)

So, after publishing the new credential crates, I think we'll also need to publish a new 0.75.1 which depends on the correct versions so that users can use 0.75. It also probably makes sense to yank 0.75.0.
@smoelius
Copy link
Contributor

  • Yank

    • Yank cargo-credential-wincred@0.3.1
    • Yank cargo-credential-macos-keychain@0.3.1
    • Yank cargo-credential-libsecret@0.3.2

Sorry, I don't mean to look over your shoulder, but these steps still need to be performed?