원클릭으로
release
// Guide the Backend.AI release process - run release.sh, generate changelog via towncrier, consolidate RC entries for final releases with subsection grouping.
// Guide the Backend.AI release process - run release.sh, generate changelog via towncrier, consolidate RC entries for final releases with subsection grouping.
Guide for implementing Backend.AI repository patterns (create, get, search, update, delete, purge, batch operations, Querier, BatchQuerier, Creator, Updater, Purger, SearchScope, with_tables)
Diagnose and fix Docker Compose halfstack issues — config mapping, service health, DB/Redis/etcd inspection, supergraph regeneration
Local development tools — service management (./dev) and v2 CLI testing (./bai)
Guide for implementing REST and GraphQL APIs (create, get, search, update, delete, purge, scope prefix patterns, admin_ prefix, SearchScope, BaseFilterAdapter, @api_function, Click CLI)
Guide for implementing Backend.AI client SDK and CLI (Session, BaseFunction, @api_function, Click commands, Pydantic models, FieldSpec, output handlers, APIConfig, testing)
Complete submission workflow - quality checks, commit, PR creation, changelog generation, and final push. Use after finishing implementation work.
| name | release |
| description | Guide the Backend.AI release process - run release.sh, generate changelog via towncrier, consolidate RC entries for final releases with subsection grouping. |
Guides the Backend.AI release process: version bump, changelog generation, and RC consolidation for final releases.
26.2.0, 26.2.0rc2)Parse parameters
target_version from user input (required)webui_version if providedCheck current state
VERSION file for current versiongit status)main)Determine release type
rc, alpha, beta, or dev (e.g., 26.2.0rc1)26.2.0)For final releases, check for prior RC sections
CHANGELOG.md for sections matching ## {major}.{minor}.{patch}rc\d+Confirm with user before proceeding
Run scripts/release.sh which performs these steps:
scripts/release.sh {target_version} [webui_version]
What the script does:
release/{target_version}webui_version provided)pants tailor --check, pants check ::VERSION filerelease: {target_version}Error handling:
pyproject.toml towncrier config and changes/ directory## {version} (date)This is the core value of the skill. When releasing a final version (e.g., 26.2.0), all previous RC changelog sections (e.g., 26.2.0rc1, 26.2.0rc2) must be consolidated into the final version section.
Step 1: Collect RC entries
CHANGELOG.md
## {major}.{minor}.{patch}rc\d+ \(.*\)### Features, ### Improvements, ### Fixes, etc.)Step 2: Merge with new entries
changes/ fragmentsStep 3: Remove RC sections
CHANGELOG.mdStep 4: Subsection grouping
#### Subsection Title blocks### Features
#### Fair Share Scheduler
Implemented a Fair Share scheduling system for equitable resource distribution.
* Add Fair Share row models with tests and migration ([#8008](https://...))
* Implement Fair Share repository layers ([#8030](https://...))
#### Other Features
* Standalone items that don't form a natural group ([#XXXX](https://...))
### Improvements
#### Storage Proxy Improvements
Introduced StorageTarget abstraction for flexible storage configuration.
* Introduce StorageTarget abstraction ([#7938](https://...))
#### Other Improvements
* Standalone improvement items ([#XXXX](https://...))
Grouping criteria (priority order):
Feature Initiative: Group PRs that serve the same goal or project, even if they span multiple layers (model, repository, service, API, CLI). A single initiative = a single group.
System/Subsystem: Group PRs that improve a specific system across multiple areas under the system name.
Domain Entity: Group PRs that target the same entity's Action/Repository/Service work under the entity name.
Technical Pattern: Group PRs that apply the same technical pattern across multiple entities under the pattern name.
Infrastructure: Group PRs that address infrastructure-level changes under the infrastructure area name.
Grouping rules:
#### Other {Category} (e.g., #### Other Features)Step 5: User review
Step 6: Amend the release commit
git add CHANGELOG.md
git commit --amend --no-edit
Report final status:
Release Prepared
Version: {target_version}
Branch: release/{target_version}
Type: {Final Release | Release Candidate | Pre-release}
WebUI: {webui_version or "not updated"}
Changelog: {N} entries across {M} categories
RC Merged: {list of merged RC versions, or "N/A"}
Release script failed at: {step}
Error:
{error_output}
Options:
1. Fix the issue and re-run: scripts/release.sh {target_version} [webui_version]
2. Run remaining steps manually
3. Abort: git checkout main && git branch -D release/{target_version}
No news fragments found in changes/ directory.
This means no new changes since the last release.
If this is a final release consolidating RCs, this is expected - proceed to Phase 3.
Found duplicate entries during RC consolidation (same PR number in multiple RCs).
Deduplicated entries:
{list}
Using the latest version of each entry.
User: /release 26.2.0rc2
Agent: [Checks VERSION, runs release.sh, towncrier generates flat list, reports summary]
User: /release 26.2.0
Agent: [Checks VERSION, finds rc1/rc2 sections in CHANGELOG, runs release.sh,
consolidates RC entries + new entries, groups into subsections,
presents for review, amends commit, reports summary]
User: /release 26.2.0 25.3.2
Agent: [Runs release.sh with WebUI version, full workflow]
scripts/release.sh - The release automation scriptpyproject.toml - towncrier configuration (fragment types, template)changes/ - News fragment directory/submit - For regular PR submissions (not releases)