Skip to content
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.

Commit

Permalink
chore: v0.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
alestiago committed Dec 4, 2023
1 parent a09d4cc commit 1e88bf9
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 1 deletion.
7 changes: 7 additions & 0 deletions brick/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# 0.5.0

- feat: add macOS platform support ([#125](https://github.com/VeryGoodOpenSource/very_good_flame_game/pull/125))
- fix: replace `VeryGoodFlameGame` with template ([#130](https://github.com/VeryGoodOpenSource/very_good_flame_game/pull/130))
- feat: update to flame 1.10 ([#129](https://github.com/VeryGoodOpenSource/very_good_flame_game/pull/129))
- fix: regenerate ios platform dir ([#134](https://github.com/VeryGoodOpenSource/very_good_flame_game/pull/134))

# 0.4.0

- feat!: update to Flame 1.8.2
Expand Down
2 changes: 1 addition & 1 deletion brick/brick.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: very_good_flame_game
description: A Very Good Flame Game created by Very Good Ventures.
repository: https://github.com/VeryGoodOpenSource/very_good_flame_game
version: 0.4.0
version: 0.5.0

environment:
mason: ">=0.1.0-dev.50 <0.1.0"
Expand Down
79 changes: 79 additions & 0 deletions tool/release_ready.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Ensures that the package or brick is ready for a release.
#
# Set it up for a new version:
# `./release_ready.sh <version>

# Check if current directory is usable for this script, if so we assume it is correctly set up.
if [ ! -f "brick/brick.yaml" ]; then
echo "$(pwd) is not a valid brick."
exit 1
fi

currentBranch=$(git symbolic-ref --short -q HEAD)
if [[ ! $currentBranch == "main" ]]; then
echo "Releasing is only supported on the main branch."
exit 1
fi

# Get information
old_version=""
current_name=""
if [ -f "brick/brick.yaml" ]; then
old_version=$(cat brick/brick.yaml | pcregrep 'version: (.*?)' | tr " " "\n" | tail -1)
current_name=$(cat brick/brick.yaml | pcregrep 'name: (.*?)' | tr " " "\n" | tail -1)
fi

if [ -z "$old_version" ] || [ -z "$current_name" ]; then
echo "Current version or name was not resolved."
exit 1
fi

# Get new version
new_version="$1";

if [[ "$new_version" == "" ]]; then
echo "No new version supplied, please provide one"
exit 1
fi

if [[ "$new_version" == "$old_version" ]]; then
echo "Current version is $old_version, can't update."
exit 1
fi

# Retrieving all the commits in the current directory since the last tag.
previousTag="v${old_version}"
raw_commits="$(git log --pretty=format:"%s" --no-merges --reverse $previousTag..HEAD -- .)"
markdown_commits=$(echo "$raw_commits" | sed -En "s/\(#([0-9]+)\)/([#\1](https:\/\/github.com\/VeryGoodOpenSource\/very_good_flame_game\/pull\/\1))/p")

if [[ "$markdown_commits" == "" ]]; then
echo "No commits since last tag, can't update."
exit 0
fi
commits=$(echo "$markdown_commits" | sed -En "s/^/- /p")

echo "Updating version to $new_version"
if [ -f "brick/brick.yaml" ]; then
sed -i '' "s/version: $old_version/version: $new_version/g" brick/brick.yaml
fi

# Update dart file with new version.
dart run build_runner build --delete-conflicting-outputs > /dev/null

if grep -q $new_version "brick/CHANGELOG.md"; then
echo "CHANGELOG already contains version $new_version."
exit 1
fi

# Add a new version entry with the found commits to the brick/CHANGELOG.md.
echo "# ${new_version}\n\n${commits}\n\n$(cat brick/CHANGELOG.md)" > brick/CHANGELOG.md
echo "CHANGELOG for $current_name generated, validate entries here: $(pwd)/brick/CHANGELOG.md"

echo "Creating git branch for $current_name@$new_version"
git checkout -b "chore/v$new_version" > /dev/null

git add brick/brick.yaml brick/CHANGELOG.md

echo ""
echo "Run the following command if you wish to commit the changes:"
echo "git commit -m \"chore: v$new_version\""

0 comments on commit 1e88bf9

Please sign in to comment.