All Projects → mroth → bump

mroth / bump

Licence: MIT License
🌻 CLI tool to draft a GitHub Release for the next semantic version

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to bump

Semver
Semantic Versioning (semver) library written in golang
Stars: ✭ 804 (+1910%)
Mutual labels:  semver, semantic-versioning
expublish
Automates semantic release versioning and best practices for elixir packages.
Stars: ✭ 17 (-57.5%)
Mutual labels:  semantic-versioning, release-automation
Nlm
Lifecycle manager for node projects
Stars: ✭ 27 (-32.5%)
Mutual labels:  semver, release-automation
React Native Version
🔢 Version your React Native or Expo app in a `npm version` fashion.
Stars: ✭ 408 (+920%)
Mutual labels:  semver, semantic-versioning
Semantic Release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 14,364 (+35810%)
Mutual labels:  semver, release-automation
Release It
🚀 Automate versioning and package publishing
Stars: ✭ 4,773 (+11832.5%)
Mutual labels:  semver, release-automation
Semantic Release
📦🚀 semantic-release written in go
Stars: ✭ 113 (+182.5%)
Mutual labels:  semver, semantic-versioning
Semver
Semantic Versioning for modern C++
Stars: ✭ 108 (+170%)
Mutual labels:  semver, semantic-versioning
git-semver
a small cli tool to version your git repository with semantic versioning
Stars: ✭ 19 (-52.5%)
Mutual labels:  semver, semantic-versioning
Version
Represent and compare versions via semantic versioning (SemVer) in Swift
Stars: ✭ 160 (+300%)
Mutual labels:  semver, semantic-versioning
Python Semver
Python package to work with Semantic Versioning (http://semver.org/)
Stars: ✭ 264 (+560%)
Mutual labels:  semver, semantic-versioning
gradle-release-plugin
Gradle plugin providing very minimal release version numbering (Git-specific)
Stars: ✭ 43 (+7.5%)
Mutual labels:  semantic-versioning, release-automation
Axion Release Plugin
Gradle release & version management plugin.
Stars: ✭ 372 (+830%)
Mutual labels:  semantic-versioning, release-automation
Commitizen
Create committing rules for projects 🚀 auto bump versions ⬆️ and auto changelog generation 📂
Stars: ✭ 477 (+1092.5%)
Mutual labels:  semver, semantic-versioning
Semver
Semantic versioning helper library for PHP
Stars: ✭ 144 (+260%)
Mutual labels:  semver, semantic-versioning
next-ver
Tells you the next semantic version for your local package
Stars: ✭ 27 (-32.5%)
Mutual labels:  semver, semantic-versioning
gradle-versioner
Gradle Version Plugin. Generates semantic versions with git meta data per branch.
Stars: ✭ 25 (-37.5%)
Mutual labels:  semver, semantic-versioning
sv4git
Semantic version and conventional commits for git
Stars: ✭ 33 (-17.5%)
Mutual labels:  semantic-versioning
perfekt
Release, changelog and version your packages with perfe(k)t 👌 ease!
Stars: ✭ 15 (-62.5%)
Mutual labels:  semver
ghstats
Python script to obtain GitHub Release download count and other statistics.
Stars: ✭ 31 (-22.5%)
Mutual labels:  github-releases

bump 🌻

Simple, cross-platform CLI tool to help draft a GitHub Release for the next semantic version of your project.

  • Zero runtime dependencies (not even git).
  • Auto-detects current repo if in cloned repository.
  • Can work without any API authorization at all.

This is intentionally designed to work with the GitHub web site interface for drafting releases, and does not even require you to have the source code checked out locally.

Usage

$ bump --help
Usage: bump <owner> <repo>

If you are in a git repository that has been cloned from GitHub, owner and
repo args can be omitted, in which case they will be inferred from the remote
origin.

Flags:
    --no-open           Do not automatically open publish URL in browser.
    --verbose, -v       Verbose output.
    --version           Print version and exit.
    --help              Print help and exit.

Environment:
    $BUMP_NO_OPEN       Global default for --no-open
    $BUMP_VERBOSE       Global default for --verbose
    $GITHUB_TOKEN       Optional, will use if present to access private repos

Doing this:

animation

➡️ Automatically opens this in your browser:

release-page-ss

Where you can edit your release notes before clicking Publish Release.

Afterwards, if you have a local checkout of the repository, you may wish to do git fetch to pull all remote tags to your system. 👀

Installation

Download from the Releases page and put somewhere in your $PATH.

Homebrew users can brew install mroth/tap/bump.

Comparison

Unlike many of these release tools, bump is currently intended to support workflows where rather than pushing tags locally, new releases are primarily drafted via the Github Releases web interface (all the easier to drag your animated GIFs in, and whatnot.)

This may not be the correct workflow for your project! In particular, it really works best in environments where there is not a version number file that stored in version control itself (Node NPM, Rust Cargo), but rather those where the git tags themselves manage the versioning (Go modules, sbt-git, etc.)

Some related tools I found in looking at this you may wish to consider as alternatives:

  • sindresorhus/np For NPM projects, this is really good. We've adopted it for all our JS native projects at @openlawteam, in conjunction with --no-publish.
  • goreleaser For Go projects, this tool is quite nice. In fact, it works well in partnership with bump: let bump manage your releases and changelog, and but goreleaser running in CI to build and add the binaries to the release. (See the configuration for this project.)
  • zeit/release Fairly close to what we wanted, but it does a git tag/commit and pushes to GitHub before drafting the release, and requires API authorization. Javascript based.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].