Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions docs/release_process.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,14 @@

This repository holds a single publishable crate, `torrust-server-lib`.

The process is the one defined for workspace packages in the Torrust Tracker, which is the source
of truth. Follow its
[Publishing a Workspace Package](https://github.com/torrust/torrust-tracker/blob/develop/docs/release_process.md#publishing-a-workspace-package)
section (versioning, changelog, dry run, publish, signed tag). Do not copy it here.
Releases follow the process defined for workspace packages in the Torrust Tracker, which is the
source of truth:
[Releasing Workspace Packages](https://github.com/torrust/torrust-tracker/blob/develop/docs/release-process/workspace-packages.md).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Suggestion][F2] The target's dependent-manifest step has no counterpart here.

Precondition 2 of the linked document (both variants) asks to raise the crate's requirement "in every manifest that depends on it" in the same PR, keeping each path. This crate's dependents live in the tracker and take it from crates.io: at develop the root Cargo.toml (line 114) and four packages pin 0.6.0. For this crate the step is a tracker PR opened after the publish, since a requirement on an unpublished version does not resolve. A fourth difference saying so (or the same line in the target's standalone section, for every standalone crate) would close the loop; this carries the earlier F6.

Do not copy its steps here.

## Differences in this repository

- There is no `develop` branch: releases are cut from `main`.
- There is no `deployment-packages.yaml` workflow and no `releases/pkg/**` branches, so the
**manual fallback** of the Tracker document is the only path.
"Standalone-Repository Crate" section of the Tracker document is the only path (manual publish).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Nit][F1] Link the section rather than only quoting its name.

The target has ### Standalone-Repository Crate (line 118), slug standalone-repository-crate, unique in the file. The document link lands on ## Publishing a Workspace Package and its deployment-packages.yaml note, which this line rules out; …/workspace-packages.md#standalone-repository-crate would take the reader straight to the four steps that apply. The line already depends on the heading's name, so the anchor adds no coupling.

- The tag is `v<semver>` (for example `v0.6.0`), not `pkg/<crate-name>/v<semver>`.

## Checklist

1. Merge a PR that bumps `version` in `Cargo.toml` and adds the `CHANGELOG.md` entry.
2. From the merged `main`: `cargo publish --dry-run`, then `cargo publish`.
3. Create the signed tag on the published commit and push it to `torrust/torrust-server-lib`.
Loading