Agent Skillsrustfs/rustfs › rustfs-release-version-bump

rustfs-release-version-bump

GitHub

用于为 RustFS 项目执行精确的版本号升级,涵盖 Cargo、Helm、文档等多文件同步修改,支持本地验证或完整 Git/PR 发布流程。

.agents/skills/rustfs-release-version-bump/SKILL.md rustfs/rustfs

Trigger Scenarios

需要提升 RustFS 项目的版本号(alpha/beta/stable) 触发发布工作流中的版本准备步骤

Install

npx skills add rustfs/rustfs --skill rustfs-release-version-bump -g -y
More Options

Non-standard path

npx skills add https://github.com/rustfs/rustfs/tree/main/.agents/skills/rustfs-release-version-bump -g -y

Use without installing

npx skills use rustfs/rustfs@rustfs-release-version-bump

指定 Agent (Claude Code)

npx skills add rustfs/rustfs --skill rustfs-release-version-bump -a claude-code -g -y

安装 repo 全部 skill

npx skills add rustfs/rustfs --all -g -y

预览 repo 内 skill

npx skills add rustfs/rustfs --list

SKILL.md

Frontmatter
{
    "name": "rustfs-release-version-bump",
    "description": "Prepare the version-file and release-asset bump for an exact RustFS alpha\/beta\/stable target, with verification and optional commit\/push\/PR delivery. Use for an explicit version bump or when invoked by the release-publish workflow."
}

RustFS Release Version Bump

Use this skill to publish a RustFS release (alpha, beta, or stable) with a minimal, auditable diff and a complete ship flow (edit -> verify -> commit -> push -> PR).

Validated baseline: release pattern used in PR #2957.

Required inputs

  • Exact target version, for example 1.0.0-beta.4.
  • Delivery scope:
  • Local only (edit/verify).
  • Local + git (commit/push).
  • Full GitHub flow (commit/push/PR).

If target version is missing or ambiguous, stop and ask before editing.

Reject any target version containing -preview: preview identifiers are tag-only (see rustfs-release-publish) and must never be written into version files. If asked for one, stop and point to the release pipeline instead of editing.

Read before editing

  • AGENTS.md (root and nearest path-specific files).
  • .github/pull_request_template.md.
  • Current branch status and diff against origin/main.

Default release file scope

Treat the following file list as the default checklist for each release bump:

  • Cargo.toml
  • Cargo.lock
  • README.md
  • README_ZH.md
  • flake.nix
  • helm/rustfs/Chart.yaml
  • rustfs.spec

Only drop a file when the current repository release process clearly no longer requires it.

Hard release policy

  • Docker doc tags use <version> (for example rustfs/rustfs:1.0.0-beta.4), not v<version>.
  • Helm chart version mapping follows beta.N -> 0.N.0.
  • rustfs.spec Release uses prerelease suffix only (for example beta.4).
  • Do not change these rules without explicit confirmation.

Step-by-step workflow

  1. Confirm intent and isolate scope
  • Confirm target version string exactly.
  • Confirm whether user requested local-only or full GitHub flow.
  • Inspect current branch and ensure only release-related files are touched for this task.
  1. Update workspace versions
  • Bump [workspace.package].version in Cargo.toml.
  • Bump internal workspace crate dependency versions in Cargo.toml.
  • Update Cargo.lock so workspace package versions match target version.
  • Re-scan for partial leftovers.
  1. Update release assets
  • README.md and README_ZH.md: update versioned Docker examples to target version.
  • flake.nix: update package version to target version.
  • helm/rustfs/Chart.yaml:
  • appVersion = target version.
  • version follows chart mapping rule, for example:
  • 1.0.0-beta.3 -> 0.3.0
  • 1.0.0-beta.4 -> 0.4.0
  • rustfs.spec:
  • Set Release to prerelease suffix (example beta.4).
  • Add/update top changelog entry with exact format:
  • * Thu May 20 2026 houseme <housemecn@gmail.com>
  • - Update RPM package to RustFS 1.0.0-beta.4
  • Changelog identity and time must come from current environment:
  • git config --get user.name
  • git config --get user.email
  • date '+%a %b %d %Y'
  • Changelog version text must match target release version exactly.
  1. Verify before shipping
  • Run:
  • make pre-commit
  • If make pre-commit fails, return BLOCKED with root cause and do not silently widen scope to fix unrelated issues unless user asks.
  1. Commit strategy
  • Preferred split when both parts changed:
  • chore(release): prepare <version> for Cargo.toml and Cargo.lock.
  • chore(release): align release assets for <version> for docs and packaging files.
  • If user asks for one commit, use one commit.
  • Stage only intended release files; do not include unrelated working tree changes.
  1. Push and PR
  • Push branch:
  • git push -u origin <branch> (first push), or git push (tracking already exists).
  • Create PR with template headings unchanged:
  • gh pr create --base main --head <branch> --title ... --body-file ...
  • PR title/body must be English.
  • Use N/A for non-applicable template sections.
  • Include verification commands and any BLOCKED reason clearly.

Recommended check commands

  • git status --short --branch
  • git diff --name-only origin/main...HEAD
  • git diff --stat origin/main...HEAD
  • rg -n "<old_version>|<new_version>" Cargo.toml Cargo.lock README.md README_ZH.md flake.nix helm/rustfs/Chart.yaml rustfs.spec
  • make pre-commit

Output contract

When using this skill, always report:

  • Target version.
  • Files changed.
  • Any assumptions or uncertainties requiring confirmation.
  • Verification result (PASSED or BLOCKED) with key evidence.
  • Commit message(s) used.
  • Push status and PR URL when GitHub flow is requested.

Version History

  • 0fe41da Current 2026-08-29 02:10
  • 0d129ec 2026-08-20 14:32

Same Skill Collection

.agents/skills/adversarial-validation/SKILL.md
.agents/skills/arch-checks/SKILL.md
.agents/skills/code-change-verification/SKILL.md
.agents/skills/plugin-contract-guard/SKILL.md
.agents/skills/pr-creation-checker/SKILL.md
.agents/skills/rust-code-quality/SKILL.md
.agents/skills/rustfs-logging-governance/SKILL.md
.agents/skills/rustfs-release-publish/SKILL.md
.agents/skills/security-advisory-lessons/SKILL.md
.agents/skills/test-coverage-improver/SKILL.md
.agents/skills/tier-debug/SKILL.md
.mimocode/skills/issue-triage/SKILL.md
.mimocode/skills/pr-review/SKILL.md

Metadata

Files
0
Version
0fe41da
Hash
042202b2
Indexed
2026-08-20 14:32

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-31 10:37
浙ICP备14020137号-1 $Carte des visiteurs$