Skip to content

Commit

Permalink
Merge pull request #147 from recurly/update-release-scripts
Browse files Browse the repository at this point in the history
Updating release scripts
  • Loading branch information
chrissrogers authored Apr 9, 2021
2 parents 201f4a8 + 2f2cf2d commit 5e086a6
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 81 deletions.
11 changes: 11 additions & 0 deletions .changelog_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
owner: recurly
repo: recurly-client-java
tag_matcher: ^4\..*
required_issue_labels:
- V4
exclude_labels:
- bug?
- internal
- duplicate
- question
7 changes: 0 additions & 7 deletions .github_changelog_generator

This file was deleted.

11 changes: 0 additions & 11 deletions scripts/bump

This file was deleted.

14 changes: 0 additions & 14 deletions scripts/changelog

This file was deleted.

72 changes: 43 additions & 29 deletions scripts/prepare-release
Original file line number Diff line number Diff line change
@@ -1,36 +1,50 @@
#!/usr/bin/env bash
set -e

# major,minor,patch
PART=${1}
NEXT_VERSION=$(./scripts/bump --next-version "$PART")
UNRELEASED_LOG="/tmp/java-pending-changes.md"

if [ -z "$NEXT_VERSION" ]; then
echo "Failed to get next version"
else
# Generate pending changes in tmpfile
./scripts/changelog --pending $UNRELEASED_LOG
# Add a git message header of Release X.Y.Z
printf "Release %s\n\n$(cat $UNRELEASED_LOG)" "$NEXT_VERSION" > $UNRELEASED_LOG
# Delete credit line
sed -i '' -e '$ d' $UNRELEASED_LOG

git checkout -b "release-$NEXT_VERSION"

# Actually bump the version
./scripts/bump "$PART"
# Usage
#
# ./prepare-release major|minor|patch [--notes-out <path>] [--tag-out <path>]
#

# Rebuild docs
./scripts/build
set -e

# Make the commit
git add . --all
git commit -F "$UNRELEASED_LOG"
if [ -n "$(git status --porcelain)" ]; then
echo "Working directory is not clean. Aborting."
exit 1
fi

# Push up this branch for PR
git push origin "release-$NEXT_VERSION"
if [ -z "$GITHUB_TOKEN" ]; then
echo "GITHUB_TOKEN must be set. Aborting."
exit 1
fi

# Create PR
hub pull-request -c -F "$UNRELEASED_LOG"
# Bump version
# major|minor|patch
part=${1}
if [ "$part" != "patch" ] && [ "$part" != "minor" ] && [ "$part" != "major" ]; then
echo "'$part' is not a valid option: major|minor|patch"
exit 1
fi
new_version=$(bump2version --list "$part" | grep new_version | cut -d "=" -f 2)

# Generate Changelog
changelogly --future-release "$new_version"

while [[ "$#" -gt 0 ]]; do
case $1 in
# Create release notes artifact
-n|--notes-out)
echo "$new_version
$(
cat CHANGELOG.md | sed -n "/^## \[$new_version\]/,/^##/p" | sed '$d;1d'
)" | awk '{$1=$1};1' > $2
shift
;;

# Create release notes artifact
-t|--tag-out)
echo "v$new_version" > $2
;;
esac
shift
done
25 changes: 5 additions & 20 deletions scripts/release
Original file line number Diff line number Diff line change
@@ -1,30 +1,15 @@
#!/usr/bin/env bash
set -e

# TODO this file could be gone
RELEASED_LOG="/tmp/java-pending-changes.md"
THIS_VERSION=$(./scripts/bump --this-version)
set -e

# Generate the changelog with changes in this release
./scripts/changelog --release-tag "$THIS_VERSION"
git add CHANGELOG.md
git commit -m "Update Changelog for Release $THIS_VERSION"
git push origin master
# Usage
#
# ./release
#

# publish
mvn versions:set -DnewVersion="$THIS_VERSION"
mvn clean package
mvn deploy
mvn versions:revert

# create release
hub release create -c -F "$RELEASED_LOG" "$THIS_VERSION"

# Copy-pasteable messages for announcments
echo ":java: Java $THIS_VERSION Released :java:"
echo ":maven: Maven (Takes time to show up): https://search.maven.org/artifact/com.recurly.v3/api-client/$THIS_VERSION/jar"
echo "Release: https://github.com/recurly/recurly-client-java/releases/tag/$THIS_VERSION"
echo "Changelog:"
echo "\`\`\`"
cat "$RELEASED_LOG"
echo "\`\`\`"

0 comments on commit 5e086a6

Please sign in to comment.