#!/bin/sh # # Open a PR for releasing a new version of this repository. # # Usage: bin/prep-release VERSION # ### set -e if [ -z "$1" ]; then echo "usage: bin/prep-release VERSION" >&2 exit 64 fi version=$1 old_version=$(< VERSION) branch="release-$version" if ! bundle exec rake; then echo "test failure, not releasing" >&2 exit 1 fi printf "RELEASE %s => %s\n" "$old_version" "$version" git checkout master git pull git checkout -b $branch printf "%s\n" "$version" > VERSION bundle git add VERSION Gemfile.lock git commit -m "Release v$version" git push origin $branch compare_link="https://github.com/codeclimate/codeclimate/compare/${old_version}...$(git rev-parse --short $branch)" pr_description_file=$(mktemp -t cc_commit_message) || exit 1 printf "Release v$version\n\n$s\n" "$compare_link" > "$pr_description_file" if command -v hub > /dev/null 2>&1; then hub pull-request -F "$pr_description_file" elif command -v gh > /dev/null 2>&1; then gh pull-request -F "$pr_description_file" else echo "hub not installed? Please open the PR manually" >&2 fi rm "$commit_message_file" echo "After merging the version-bump PR, run bin/release"