`cargo release patch --execute` now does what the last three releases did by hand: bump Cargo.toml/Cargo.lock, rewrite PKGBUILD's pkgver, stamp the "## Unreleased" changelog section with version and date, commit as "release X.Y.Z", tag vX.Y.Z and push commit and tag to the gitea remote (not `origin`, which is the GitHub upstream). The tag then triggers .gitea/workflows/release.yml as before. No crates.io publish. CHANGELOG.md gets a standing "## Unreleased" section to collect entries between releases; README documents the flow. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
27 lines
1.2 KiB
TOML
27 lines
1.2 KiB
TOML
# cargo-release settings. Cut a release with
|
|
#
|
|
# cargo release patch # dry run, shows what would change
|
|
# cargo release patch --execute
|
|
#
|
|
# (or `minor`, `major`, or an explicit version). It bumps Cargo.toml and
|
|
# Cargo.lock, rewrites PKGBUILD's pkgver, turns the "## Unreleased"
|
|
# section of CHANGELOG.md into "## X.Y.Z (date)", commits, tags
|
|
# vX.Y.Z and pushes commit + tag to the gitea remote. That tag is what
|
|
# .gitea/workflows/release.yml builds and uploads to the [uhhm] registry.
|
|
|
|
# Not on crates.io; the package goes to the Arch registry via the tag.
|
|
publish = false
|
|
# `origin` is the upstream kennylevinsen fork on GitHub; releases go to
|
|
# project.uhhm.no, and the workflow only runs there.
|
|
push-remote = "gitea"
|
|
allow-branch = ["master"]
|
|
tag-name = "v{{version}}"
|
|
tag-message = "wldash {{version}}"
|
|
pre-release-commit-message = "release {{version}}"
|
|
|
|
pre-release-replacements = [
|
|
{ file = "PKGBUILD", search = "^pkgver=.*", replace = "pkgver={{version}}", exactly = 1 },
|
|
{ file = "PKGBUILD", search = "^pkgrel=.*", replace = "pkgrel=1", exactly = 1 },
|
|
{ file = "CHANGELOG.md", search = "^## Unreleased$", replace = "## {{version}} ({{date}})", exactly = 1 },
|
|
]
|