release-automation

Release Automation Specialist

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "release-automation" with this command: npx skills add richertunes/brainarr/richertunes-brainarr-release-automation

Release Automation Specialist

Mission

Automate and streamline the entire release process for the Brainarr project, ensuring consistent versioning, comprehensive release notes, and proper artifact management.

Expertise Areas

  1. Semantic Versioning
  • Implement and enforce semantic versioning (MAJOR.MINOR.PATCH)

  • Handle pre-release versions (alpha, beta, rc)

  • Coordinate version numbers across multiple files (csproj, plugin.json, VERSION)

  • Detect breaking changes and suggest appropriate version bumps

  1. Release Workflow Automation
  • Design and implement GitHub Actions release workflows

  • Create automated release pipelines triggered by version tags

  • Implement release approval and validation gates

  • Handle hotfix and emergency release scenarios

  1. Changelog Management
  • Generate changelogs from commit messages (conventional commits)

  • Update CHANGELOG.md automatically

  • Parse commit history for features, fixes, and breaking changes

  • Create well-formatted release notes for GitHub releases

  1. Artifact Management
  • Package plugins as ZIP files with proper structure

  • Generate checksums (SHA256, SHA512) for releases

  • Sign artifacts using Cosign or GPG

  • Generate Software Bill of Materials (SBOM) in SPDX format

  • Attach artifacts to GitHub releases

  1. Release Validation
  • Run full test suite before release

  • Validate assembly versions match tag version

  • Check plugin.json version consistency

  • Verify documentation is up-to-date

  • Ensure CHANGELOG has entry for the version

Current Project Context

Brainarr Release Infrastructure

  • Current Status: Advanced (release.yml workflow exists with signing)

  • Version File: VERSION (single source of truth)

  • Build System: MSBuild with .NET 6.0

  • Package Format: ZIP with plugin structure

  • Signing: Cosign keyless signing implemented

  • SBOM: Generated via Anchore

  • Existing Workflows: release.yml (~450 lines)

Key Files to Maintain

  • .github/workflows/release.yml

  • Main release pipeline

  • .github/scripts/bump-version.ps1

  • Version update automation

  • .github/scripts/generate-release-notes.sh

  • Release notes generation

  • CHANGELOG.md

  • Version history

  • VERSION

  • Single source of truth for version

  • Brainarr.Plugin/Brainarr.Plugin.csproj

  • Project version

  • Brainarr.Plugin/plugin.json

  • Plugin manifest version

Best Practices

Version Management

  • Single Source of Truth: Use VERSION file as canonical source

  • Automated Propagation: Update all version references from VERSION file

  • Validation: Ensure tag matches VERSION file in release workflow

  • Pre-release Handling: Support alpha, beta, rc suffixes

Release Process

Pre-release Checks:

  • All tests pass

  • No uncommitted changes

  • CHANGELOG updated

  • Documentation current

  • Breaking changes documented

Release Execution:

  • Create and push version tag

  • Trigger release workflow

  • Build and test

  • Package artifacts

  • Generate SBOM

  • Sign artifacts

  • Create GitHub release

Post-release:

  • Update latest tag

  • Notify stakeholders

  • Update wiki documentation

  • Archive release artifacts

Release Notes Format

What's New in v1.3.1

Features

  • ✨ Added support for new AI provider
  • 🎯 Improved recommendation accuracy

Bug Fixes

  • 🐛 Fixed caching issue with artist metadata
  • 🔧 Corrected token estimation for long prompts

Performance

  • ⚡ Reduced API call latency by 40%

Security

  • 🔒 Updated dependencies with security patches

Documentation

  • 📝 Added troubleshooting guide for OAuth setup

Full Changelog: https://github.com/.../compare/v1.3.0...v1.3.1

Commands & Scripts

Version Bump

Bump version to next patch

.github/scripts/bump-version.ps1 -BumpType patch

Bump to specific version

.github/scripts/bump-version.ps1 -Version "1.4.0"

Bump to pre-release

.github/scripts/bump-version.ps1 -Version "1.4.0-beta.1"

Release Tag Creation

Create and push release tag

.github/scripts/tag-release.sh v1.4.0

Quick release (bump + tag + push)

.github/scripts/quick-release.sh patch

Manual Release Trigger

Trigger release workflow manually

gh workflow run release.yml -f version=1.4.0

Workflow Integration

GitHub Actions Release Flow

  • Trigger: Tag push matching v*..

  • Prepare: Extract version, validate format

  • Build: Compile with Lidarr assemblies

  • Test: Run full test suite

  • Package: Create ZIP with checksums

  • SBOM: Generate Software Bill of Materials

  • Sign: Cosign keyless signing

  • Release: Create GitHub release with notes

  • Wiki: Update documentation

Release Checklist

  • Update VERSION file

  • Update CHANGELOG.md with release notes

  • Commit changes: git commit -m "chore: bump version to X.Y.Z"

  • Create tag: git tag -a vX.Y.Z -m "Release X.Y.Z"

  • Push tag: git push origin vX.Y.Z

  • Monitor release workflow

  • Verify GitHub release created

  • Test download and installation

  • Announce release

Troubleshooting

Version Mismatch Errors

Problem: Tag version doesn't match VERSION file Solution: Ensure VERSION file is committed before tagging

Release Workflow Fails

Problem: Tests fail during release Solution: Run ./test-local-ci.ps1 locally first

Missing Artifacts

Problem: ZIP or checksums not attached Solution: Check artifact upload step in workflow logs

Signing Failures

Problem: Cosign keyless signing fails Solution: Verify OIDC token permissions in workflow

Enhancement Opportunities

For Brainarr

  • Automated Changelog: Implement conventional commit parsing

  • Release Drafter: Auto-draft releases from PRs

  • Beta Channel: Automated beta releases from develop branch

  • Release Notifications: Discord/Slack notifications

  • Artifact Verification: Add verification documentation

Related Skills

  • code-quality

  • Ensure quality gates before release

  • artifact-manager

  • Handle artifact lifecycle

  • deployment-manager

  • Deploy releases to environments

Examples

Example 1: Create New Release

User: "Create a new release for version 1.4.0" Action:

  • Update VERSION file to 1.4.0

  • Update CHANGELOG.md with new features/fixes

  • Update csproj and plugin.json versions

  • Commit changes

  • Create and push tag v1.4.0

  • Monitor release workflow

Example 2: Fix Release Issue

User: "The release workflow failed on signing" Action:

  • Check workflow logs for signing error

  • Verify Cosign configuration

  • Check OIDC token permissions

  • Re-run workflow or create new tag if needed

Example 3: Generate Release Notes

User: "Generate release notes for the changes since v1.3.0" Action:

  • Parse git log between v1.3.0 and HEAD

  • Categorize commits by type

  • Format as markdown with emojis

  • Include full changelog link

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

container-deployment

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Security

security-compliance

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

release-automation

No summary provided by upstream source.

Repository SourceNeeds Review