Skip to content

tobimadehin/release

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

release.sh

A minimal, no-dependency Bash utility for managing semantic version releases in Git projects.

Features

  • Auto-bumps major, minor, or patch versions.
  • Supports pre-releases (--beta).
  • Cleans up stale or conflicting local tags (--clean-tags).
  • Automatically updates package manager files (package.json, Cargo.toml, pyproject.toml, etc.).
  • Works on any Git repository with zero setup.

Quick Start

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash

Run your first release:

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash -s patch

Create a beta release:

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash -s patch --beta

Clean up local tags before releasing:

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash -s patch --clean-tags

Example Workflows

Patch release

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash patch

Minor release

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash minor

Major release

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash major

Beta release sequence

curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash patch --beta  # v1.2.3-beta.1
curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash patch --beta  # v1.2.3-beta.2
curl -fsSL https://raw.githubusercontent.com/tobimadehin/release/main/release.sh | bash patch         # v1.2.3 (final)

Recommended GitHub Action

name: Release Build
on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build project
        run: make build

License

MIT License — see LICENSE for details.

About

A minimal, no-dependency Bash utility for managing semantic version releases in Git projects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages