publish-release
Publish a new release to GitHub Packages. Use when ready to release, after tests pass and version is updated. Creates git tag and pushes to trigger GitHub Actions.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
publish-release
Publishes a new release to GitHub Packages via GitHub Actions.
Canonical Source: This skill is maintained at stoicstudio/ClaudeSkills. Run
/update-skill publish-releaseor see Updating This Skill below.
Prerequisites
Before running, ensure:
- All code changes are complete
-
dotnet testpasses -
VersionInfo.cshas been updated with new version number -
CHANGELOG.mdhas been updated with release notes - PROJECT_NAME is determined for the current project
Steps
-
Read current version info from
src/_PROJECT_NAME_/VersionInfo.cs:- Extract
Version(e.g., "1.3.0") - Extract
VersionName(e.g., "Agent Adoption Guidance")
- Extract
-
Check git status to see what files have changed
-
Stage all changes:
git add -A -
Create commit with version in message (use HEREDOC for proper formatting):
git commit -m "$(cat <<'EOF' v{Version}: {VersionName} {Brief summary of changes from CHANGELOG.md} 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )" -
Create git tag:
git tag v{Version} -
Push to origin (triggers GitHub Actions NuGet publish):
git push origin master --tags -
Announce completion: "As Above, so Below" - the local changes now manifest in the remote repository.
Workflow Monitoring
After push, monitor the GitHub Actions workflow until completion:
-
Determine check interval by querying the last successful workflow duration:
gh run list --repo {owner}/{repo} --status success --limit 5 --json databaseId,updatedAt,createdAt- Calculate average duration from recent successful runs
- Use
duration / 3as the check interval (minimum 30 seconds, maximum 2 minutes) - If no previous runs, default to 1 minute interval
-
Get the triggered workflow run ID:
gh run list --repo {owner}/{repo} --limit 1 --json databaseId,status,conclusion,headBranch- Verify the run is for the correct tag/branch (v{Version})
-
Poll workflow status at the calculated interval:
gh run view {run_id} --repo {owner}/{repo} --json status,conclusion- Continue polling while
statusisqueued,in_progress, orwaiting - Stop when
statusiscompleted
- Continue polling while
-
Report final result:
- If
conclusionissuccess: Report success with package availability - If
conclusionisfailure: Report failure and provide link to logs:gh run view {run_id} --repo {owner}/{repo} --web
- If
Post-Release
After workflow completes successfully:
- Package will be available at: https://github.com/{owner}/{repo}/packages
- Users can update with:
dotnet tool update --global {package-name}
Updating This Skill
This skill is distributed from the canonical repository. To update your local copy:
Manual Update
# From your project root
curl -sL https://raw.githubusercontent.com/stoicstudio/ClaudeSkills/main/skills/publish-release/SKILL.md \
-o .claude/skills/publish-release/SKILL.md
Check for Updates
Compare your local version with canonical:
# Get canonical version
curl -sL https://raw.githubusercontent.com/stoicstudio/ClaudeSkills/main/skills/publish-release/SKILL.md | head -5
# Check local version
head -5 .claude/skills/publish-release/SKILL.md
Bulk Update (All Projects)
Use the sync script from the canonical repo:
# Clone or update ClaudeSkills repo
cd /path/to/ClaudeSkills
git pull
# Run sync to update all configured projects
./sync.sh
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!