gh-release-pipeline
Installation
SKILL.md
Release Pipeline
Push-to-main, semantic-release driven, self-bumping. Only the publish plumbing varies by target (npm, SwiftPM/CocoaPods, Go, Rust, GitHub Action, Homebrew tap). Rust uses release-plz in place of semantic-release; the pipeline shape is identical.
Pipeline Shape
push to main
└─► verify job (lint + typecheck + test + build, on PR and push)
└─► release job (push to main only, !contains [skip ci])
├─► semantic-release: analyze commits, tag, GitHub Release, notes
├─► publish to target (npm / pods / goreleaser / marketplace tag)
└─► @semantic-release/git: commit version bump back to main with [skip ci]
Both jobs check out at fetch-depth: 0. The verify job is gated by a cancellable concurrency group; the release job uses a separate non-cancellable group so two releases never race.