Skip to content

docs(ref): Establish publish best practices#12745

Merged
bors merged 1 commit into
rust-lang:masterfrom
epage:publish
Sep 27, 2023
Merged

docs(ref): Establish publish best practices#12745
bors merged 1 commit into
rust-lang:masterfrom
epage:publish

Conversation

@epage

@epage epage commented Sep 26, 2023

Copy link
Copy Markdown
Contributor

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

rustbot commented Sep 26, 2023

Copy link
Copy Markdown
Collaborator

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

@0xPoe 0xPoe left a comment

Copy link
Copy Markdown
Member

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!

@weihanglo weihanglo left a comment

Copy link
Copy Markdown
Member

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!

Comment thread src/doc/src/reference/publishing.md Outdated
> - [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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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

epage commented Sep 27, 2023

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
Member

Thanks!

@bors r+

@bors

bors commented Sep 27, 2023

Copy link
Copy Markdown
Contributor

📌 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

bors commented Sep 27, 2023

Copy link
Copy Markdown
Contributor

⌛ Testing commit d06fd70 with merge 01846d9...

@bors

bors commented Sep 27, 2023

Copy link
Copy Markdown
Contributor

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

@bors bors merged commit 01846d9 into rust-lang:master Sep 27, 2023
@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.

6 participants