Skip to main content

release-new-version

Guide for releasing a new version of the Torrust Tracker using the standard staging branch, tag, and crate publication workflow. Covers version bump, release commit, staging branch promotion, PR to main, release branch/tag creation, crate publication, and merge-back to develop. Use when asked to "release", "cut a version", "publish a new version", or "create release vX.Y.Z".

소스 정보

저장소
torrust/torrust-tracker
최근 소스 활동
2026년 6월 5일 16:04
감지된 SKILL.md 언어
영어
스타
533
포크
56

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
release-new-version
description
Guide for releasing a new version of the Torrust Tracker using the standard staging branch, tag, and crate publication workflow. Covers version bump, release commit, staging branch promotion, PR to main, release branch/tag creation, crate publication, and merge-back to develop. Use when asked to "release", "cut a version", "publish a new version", or "create release vX.Y.Z".
metadata
{"author":"torrust","version":"1.0"}
# Release New Version Primary reference: [`docs/release_process.md`](../../../../../docs/release_process.md) ## Release Steps (Mandatory Order) 1. Stage `develop` → `staging/main` 2. Create release commit (bump version) 3. PR `staging/main` → `main` 4. Push `main` → `releases/vX.Y.Z` 5. Create signed tag `vX.Y.Z` on that branch 6. Verify deployment workflow + crate publication 7. Create GitHub release 8. Stage `main` → `staging/develop` (merge-back) 9. Bump next dev version, PR `staging/develop` → `develop` Do not reorder these steps. ## Version Naming Rules - Version in code: `X.Y.Z` (release) or `X.Y.Z-develop` (development) - Git tag: `vX.Y.Z` - Release branch: `releases/vX.Y.Z` - Staging branches: `staging/main`, `staging/develop` ## Pre-Flight Checklist Before starting: - [ ] Clean working tree (`git status`) - [ ] `develop` branch is up to date with `torrust/develop` - [ ] All CI checks pass on `develop` - [ ] Working version in manifests is `X.Y.Z-develop` ## Commands ### 1) Stage develop → staging/main ```bash git fetch --all git push --force torrust develop:staging/main ``` ### 2) Create Release Commit ```bash git stash git switch staging/main git reset --hard torrust/staging/main # Edit version in all Cargo.toml files: # change X.Y.Z-develop → X.Y.Z git add -A git commit -S -m "release: version X.Y.Z" git push torrust ``` Edit `version` in: - `Cargo.toml` (workspace) - All packages under `packages/` that publish crates - `console/tracker-client/Cargo.toml` Also update any internal path dependency `version` constraints. ### 3) PR staging/main → main Create PR: "Release Version X.Y.Z" (title format) Base: `torrust/torrust-tracker:main` Head: `staging/main` Merge after CI passes. ### 4) Push releases/vX.Y.Z branch ```bash git fetch --all git push torrust main:releases/vX.Y.Z ``` ### 5) Create Signed Tag ```bash git switch releases/vX.Y.Z git reset --hard torrust/releases/vX.Y.Z git tag --sign vX.Y.Z git push --tags torrust ``` ### 6) Verify Deployment Workflow Check the [deployment workflow](https://github.com/torrust/torrust-tracker/actions/workflows/deployment.yaml) ran successfully and the following crates were published: - `torrust-located-error` - `torrust-tracker-primitives` - `torrust-clock` - `torrust-tracker-configuration` - `torrust-tracker-torrent-repository` - `torrust-tracker-test-helpers` - `torrust-tracker` Crates must be published in dependency order. Each must be indexed on crates.io before the next publishes. ### 7) Create GitHub Release Create a release from tag `vX.Y.Z` after the deployment workflow passes. ### 8) Merge-back: Stage main → staging/develop ```bash git fetch --all git push --force torrust main:staging/develop ``` ### 9) Bump Next Dev Version ```bash git stash git switch staging/develop git reset --hard torrust/staging/develop # Edit version in all Cargo.toml files: # change X.Y.Z → (next)X.Y.Z-develop (e.g. 3.0.0 → 3.0.1-develop) git add -A git commit -S -m "develop: bump to version (next)X.Y.Z-develop" git push torrust ``` Create PR: "Version X.Y.Z was Released" Base: `torrust/torrust-tracker:develop` Head: `staging/develop` ## Failure Handling - **Deployment workflow failed**: fix and rerun on same release branch - **Crate already published**: do not republish; cut a patch release - **Partial state (tag exists but branch doesn't)**: investigate before proceeding
GitHub에서 보기