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

docs(ref): Establish publish best practices #12745

Merged
merged 1 commit into from
Sep 27, 2023
Merged

Conversation

epage
Copy link
Contributor

@epage epage commented Sep 26, 2023

Inspired by #841 and conversations at RustConf.

At RustConf, someone was talking to me about the lack or inconsistent use of best practices within the crate ecosystem.
We have a challenge of needing to help users get up and going who can't research every last decision while not over-encouraging the status quo, leading to stagnation.

The list of tools included was based on a mixture of

  • Download counts
  • Word of mouth exposure
  • Unique aspects covered
  • Maturity

I do have a bias in this conversation as the maintainer of one of these tools which is why I decided to pick an ordering without judgement. I picked alphabetical ordering before sorting and realizing this puts my own crate first.

Inspired by rust-lang#841 and conversations at RustConf.

At RustConf, someone was talking to me about the lack or inconsistent
use of best practices within the crate ecosystem.
We have a challenge of needing to help users get up and going who can't
research every last decision while not over-encouraging the status quo,
leading to stagnation.

I do have a bias in this conversation as the maintainer of one of these
tools which is why I decided to pick an ordering without judgement.
I picked alphabetical ordering before sorting and realizing this puts my
own crate first.
@rustbot
Copy link
Collaborator

rustbot commented Sep 26, 2023

r? @ehuss

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

@rustbot rustbot added A-documenting-cargo-itself Area: Cargo's documentation S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 26, 2023
Copy link
Member

@hi-rustin hi-rustin left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks!

Copy link
Member

@weihanglo weihanglo left a comment

Choose a reason for hiding this comment

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

What's the criteria if somebody wants to put their release tool in the list? Should we make it clear in this PR thread, or we'll discuss it case by case?

Apart from that, looks nice!

> - [cargo-smart-release](https://crates.io/crates/cargo-smart-release)
> - [release-plz](https://crates.io/crates/release-plz)
>
> For more, see [crates.io](https://crates.io/search?q=cargo%20release)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
> For more, see [crates.io](https://crates.io/search?q=cargo%20release)
> For more, see [crates.io](https://crates.io/search?q=cargo%20release).

Copy link
Member

Choose a reason for hiding this comment

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

I am not sure if "cargo release" is the correct keyword, but yet I can't see any better alternative 😆.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Typo fixed.

Unsure how to make the search term any better. It seems to cover a lot of cases for command-line focused releases though that leaves out tools like release-plz. The release keyword isn't universally used and is too vague, covering a lot of other cases.

@epage
Copy link
Contributor Author

epage commented Sep 27, 2023

What's the criteria if somebody wants to put their release tool in the list? Should we make it clear in this PR thread, or we'll discuss it case by case?

I've noted in the PR why I chose the crates I did. I think we'll need to handle it on a case-by-case basis though I expect a lot of cases to be obvious (brand-new tool that barely does anything is likely not something worth including).

@weihanglo
Copy link
Member

Thanks!

@bors r+

@bors
Copy link
Collaborator

bors commented Sep 27, 2023

📌 Commit d06fd70 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 Sep 27, 2023
@bors
Copy link
Collaborator

bors commented Sep 27, 2023

⌛ Testing commit d06fd70 with merge 01846d9...

@bors
Copy link
Collaborator

bors commented Sep 27, 2023

☀️ Test successful - checks-actions
Approved by: weihanglo
Pushing 01846d9 to master...

@bors bors merged commit 01846d9 into rust-lang:master Sep 27, 2023
20 checks passed
@epage epage deleted the publish branch September 29, 2023 17:02
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 30, 2023
Update cargo

4 commits in e6aabe8b3fcf639be3a5bf68e77853bd7b3fa27d..59596f0f31a94fde48b5aa7e945cd0b7ceca9620
2023-09-26 16:31:53 +0000 to 2023-09-29 19:29:17 +0000
- refactor: Switch from termcolor to anstream (rust-lang/cargo#12751)
- Add missing `strip` entries in `dev` and `release` profiles. (rust-lang/cargo#12748)
- Add better suggestion for the unsupported silent flag (rust-lang/cargo#12723)
- docs(ref): Establish publish best practices (rust-lang/cargo#12745)

r? ghost
@ehuss ehuss added this to the 1.74.0 milestone Sep 30, 2023
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Sep 30, 2023
Update cargo

4 commits in e6aabe8b3fcf639be3a5bf68e77853bd7b3fa27d..59596f0f31a94fde48b5aa7e945cd0b7ceca9620
2023-09-26 16:31:53 +0000 to 2023-09-29 19:29:17 +0000
- refactor: Switch from termcolor to anstream (rust-lang/cargo#12751)
- Add missing `strip` entries in `dev` and `release` profiles. (rust-lang/cargo#12748)
- Add better suggestion for the unsupported silent flag (rust-lang/cargo#12723)
- docs(ref): Establish publish best practices (rust-lang/cargo#12745)

r? ghost
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 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.

None yet

6 participants