Skip to content

Conversation

@eonist
Copy link
Member

@eonist eonist commented Dec 23, 2025

Summary

Adds bash scripts to automate the release process as requested in #39.

Changes

  • cut-release.sh: Main script to automate tag creation and push
  • rollback-release.sh: Utility script for rolling back releases

Features

  • Safety checks: Validates git repository state, branch, uncommitted changes, and required files
  • Interactive prompts: Asks for confirmation before performing destructive operations
  • Colored output: Clear visual feedback with info, warning, and error messages
  • Error handling: Uses set -euo pipefail for robust error handling
  • Auto-rollback: Cleans up local tag if remote push fails
  • Helpful links: Provides URLs to GitHub Actions and release pages

Usage

Create a release

chmod +x cut-release.sh
./cut-release.sh

Rollback a release

chmod +x rollback-release.sh
./rollback-release.sh diffsense@a1b2c3d

Testing

The scripts have been tested for:

  • ✅ Git repository validation
  • ✅ Branch checking and switching
  • ✅ Uncommitted changes detection
  • ✅ Required files verification
  • ✅ Tag creation and push
  • ✅ Error handling and rollback

Fixes #39

Adds two bash scripts to automate the release process:
- cut-release.sh: Automates tag creation and push with safety checks
- rollback-release.sh: Provides easy rollback functionality

Features:
- Interactive confirmation prompts
- Validates git state and required files
- Colored output for better UX
- Automatic error handling and rollback on failure
- Helpful links to GitHub Actions and releases

Fixes #39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add .sh script for cut-release steps

2 participants