chore: add create-release governance (just recipe + workflow) #1

Merged
David merged 1 commit from chore/release-governance into main 2026-05-30 20:12:53 +02:00
Owner

Adds the create-release governance to conform to the NiceGuyIT/governance templates. No library code changes.

What

  • justfile: create-release <major|minor|hotfix> recipe. Guards a dirty tree, releases from an up-to-date main, bumps the workspace version under [workspace.package] (member crates inherit via version.workspace = true), commits on release/vX.Y.Z, and pushes for PR.
  • .forgejo/workflows/create-release.yml: when a release/v* PR merges to main, tags and publishes the Forgejo release with a changelog from commits since the previous tag.

Adapted from the templates

templates/justfile/release.just and templates/forgejo-workflows/create-release.yml, with the version source pointed at workspace.package.version because this is a virtual workspace rather than a single package. The template documents this as a per-project adjustment.

Verification

just --list parses and lists create-release. cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings, and cargo test --workspace (80 passed) all green with SQLX_OFFLINE=true.

Adds the `create-release` governance to conform to the NiceGuyIT/governance templates. No library code changes. ## What - `justfile`: `create-release <major|minor|hotfix>` recipe. Guards a dirty tree, releases from an up-to-date `main`, bumps the workspace version under `[workspace.package]` (member crates inherit via `version.workspace = true`), commits on `release/vX.Y.Z`, and pushes for PR. - `.forgejo/workflows/create-release.yml`: when a `release/v*` PR merges to `main`, tags and publishes the Forgejo release with a changelog from commits since the previous tag. ## Adapted from the templates `templates/justfile/release.just` and `templates/forgejo-workflows/create-release.yml`, with the version source pointed at `workspace.package.version` because this is a virtual workspace rather than a single package. The template documents this as a per-project adjustment. ## Verification `just --list` parses and lists `create-release`. `cargo fmt --all --check`, `cargo clippy --workspace --all-targets -- -D warnings`, and `cargo test --workspace` (80 passed) all green with `SQLX_OFFLINE=true`.
chore: add create-release governance (just recipe + workflow)
All checks were successful
Checks / fmt + clippy + test (pull_request) Successful in 34s
create-release / create-release (pull_request) Has been skipped
e4626718c6
Conform to the NiceGuyIT/governance release flow.

- justfile: add `create-release <major|minor|hotfix>`. Guards against a dirty tree, releases from an up-to-date main, bumps the workspace-wide version under [workspace.package] (all member crates inherit it via version.workspace = true), commits on a release/vX.Y.Z branch, and pushes for PR.
- .forgejo/workflows/create-release.yml: on a release/v* PR merging to main, tag and publish the Forgejo release with a changelog built from the commits since the previous tag.

Adapted from templates/justfile/release.just and templates/forgejo-workflows/create-release.yml: the version source is workspace.package.version (this is a virtual workspace, not a single package), which the template explicitly calls out as a per-project adjustment.

Verified: just --list parses and lists create-release; cargo fmt --all --check, cargo clippy --workspace --all-targets -D warnings, and cargo test --workspace (80 passed) all green with SQLX_OFFLINE=true.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
David merged commit 8a818d4627 into main 2026-05-30 20:12:53 +02:00
David deleted branch chore/release-governance 2026-05-30 20:12:54 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
psa-systems/dunite!1
No description provided.