release
Release workflow for uti project. Use when user says "release", "create release", "bump version", "publish version", or wants to prepare a new version for distribution.
When & Why to Use This Skill
This Claude skill automates the end-to-end release workflow for the uti project, managing version bumping across multiple configuration files, PR creation, and GitHub Release generation. It streamlines the software distribution process by coordinating GitHub Actions to build packages like RPMs and GNOME extensions, ensuring a consistent and error-free deployment cycle.
Use Cases
- Automated Versioning: Synchronize version updates across multiple files including package.json, Cargo.toml, and spec files to prevent version mismatch during a release.
- Continuous Deployment: Trigger and monitor GitHub Action workflows to automatically build, tag, and publish software artifacts directly to GitHub Releases.
- Release Management: Streamline the transition from development to production by automating PR creation, CI status verification, and branch merging without manual intervention.
| name | release |
|---|---|
| description | Release workflow for uti project. Use when user says "release", "create release", "bump version", "publish version", or wants to prepare a new version for distribution. |
Release Workflow
Create a new release for uti (Tauri app + daemon).
Important: Release is created from develop branch, not main.
Ensure all features for the release are merged to develop first.
Usage
Run the release workflow with the desired version:
gh workflow run release.yml -f version=X.Y.Z
Example:
gh workflow run release.yml -f version=0.0.4
What It Does
The workflow automatically (no human intervention required):
- Creates release branch and bumps version in all 6 locations
- Creates PR with auto-merge enabled
- Waits for CI to pass
- Auto-merges PR when CI succeeds
- Creates tag on merge (triggers release build)
- Builds packages (Tauri RPM, daemon RPM, GNOME extension)
- Creates GitHub Release with artifacts
Version Format
MAJOR.MINOR.PATCH - Semantic versioning (e.g., 0.2.0)
Files Updated
package.json(root)app/package.jsonapp/src-tauri/tauri.conf.jsonapp/src-tauri/Cargo.tomldaemon/Cargo.tomldaemon/uti-daemon.spec
Alternative: Manual Tag Push
If you prefer manual control, you can still create a tag manually:
git tag vX.Y.Z
git push origin vX.Y.Z
This triggers only the build and release jobs (skips version bump).