Skip to content

Instantly share code, notes, and snippets.

@erkiesken
Created April 4, 2016 15:25
Show Gist options
  • Save erkiesken/c463c2d070a46d5d8df689d043d435d9 to your computer and use it in GitHub Desktop.
Save erkiesken/c463c2d070a46d5d8df689d043d435d9 to your computer and use it in GitHub Desktop.
Simple version bumper using node-semver
#!/bin/bash
##
## Bumps semantic version using node-semver.
##
## Usage:
## ./bump-version.sh <level> <file>
##
## <level> can be: major, minor, patch,
## premajor, preminor,
## prepatch, prerelease
## Defaults to: patch
##
## <file> is path to plain-text version file.
## Defaults to: version
##
set -euo pipefail
alias semver=/usr/local/bin/semver
LEVEL=${1:-patch}
VERSION_FILE=${2:-version}
VERSION=$(cat "$VERSION_FILE")
set +e
semver "$VERSION" > /dev/null
if [ $? -ne 0 ]; then
echo "Bad semver value: $VERSION"
exit 1
fi
set -e
NEW_VERSION=$(semver -i "$LEVEL" "$VERSION")
echo "$NEW_VERSION" > "$VERSION_FILE"
echo "Bumped version:"
echo " $VERSION -> $NEW_VERSION"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment