release
Cut a new release of trino-rust-client and publish it to crates.io. Use when asked to release a version, bump the version, or publish the crate.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Cut a new release of trino-rust-client and publish it to crates.io. Use when asked to release a version, bump the version, or publish the crate.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | release |
| description | Cut a new release of trino-rust-client and publish it to crates.io. Use when asked to release a version, bump the version, or publish the crate. |
Follow these steps in order. The tag (created by the GitHub Release, not
locally) triggers .github/workflows/crate-release.yaml, which publishes to
crates.io.
Pre-1.0 semver: a ## [Unreleased] section containing any Breaking: entry
bumps the minor (0.10 → 0.11); otherwise bump the patch. Read
CHANGELOG.md to decide.
The workspace publishes two crates: trino-rust-client and
trino-rust-client-macros (the macros crate has its own version, not
workspace-inherited). If trino-rust-client-macros/ changed since its last
publish, bump its version and the workspace.dependencies.trino-rust-client-macros
reference — otherwise katyo/publish-crates fails the whole release with
package 'trino-rust-client-macros' modified since 'X'.
git checkout -b release/X.Y.Z
workspace.package.version in Cargo.toml to X.Y.Z.CHANGELOG.md: turn ## [Unreleased] into ## [X.Y.Z] - <date>
(leave an empty [Unreleased] above it) and add the comparison link at the
bottom (no v prefix — tags are X.Y.Z, e.g. compare/0.10.0...0.11.0).README.md install snippets (there are two).MIGRATION.md covers them.cargo check and cargo check --features spooling.release X.Y.Z, push the branch, open a PR.Do not create a release by hand. release-drafter maintains a draft
GitHub Release (named X.Y.Z 🌈) that already lists every merged PR with its
author — - <title> @<author> (#<n>) — so contributors are credited
automatically. Publish and lightly edit that draft instead.
gh release list --repo nudibranches-tech/trino-rust-client # find the draft
Then publish it, fixing the tag/title/target and enriching the notes:
gh release edit <draft-tag> \
--tag X.Y.Z --target main --title "X.Y.Z 🌈" \
--notes-file <notes> --draft=false --latest
X.Y.Z — no v prefix. The draft's version may be wrong (release-drafter
guesses from semver:* labels, which live in the tracking repo, not on these
PRs) — set it explicitly.X.Y.Z 🌈 — keep the rainbow.## Changes (keep the
per-PR @author attribution — the whole point). Trino PRs usually carry no
type:* labels, so release-drafter won't categorise them well; tidy the
grouping/wording and add a **Full Changelog**: .../compare/<prev>...<this>
link if missing. Preserve the contributor @mentions.Publishing the draft creates the tag, which triggers the publish workflow (~4 min). Watch it and confirm both crates on crates.io:
gh run watch <run-id> --exit-status
If no draft exists (release-drafter didn't run), fall back to
gh release create X.Y.Z --target main --title "X.Y.Z 🌈" --notes-file <notes> --latest,
and add a ## Contributors section listing the PR authors by hand.
gh for remote operations.X.Y.Z 🌈; that is expected,
not a stale artifact.