Skip to content

Commit

Permalink
chore(flame_steering_behaviors): v0.2.0 (#68)
Browse files Browse the repository at this point in the history
  • Loading branch information
alestiago authored Sep 4, 2024
1 parent f1d6a6c commit 9dcdae6
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 2 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/flame_steering_behaviors_pub_publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,15 @@ jobs:
uses: actions/checkout@v4
- name: 🐦 Setup Flutter
uses: subosito/flutter-action@v2
- name: 🪪 Get Id Token
uses: actions/github-script@v6
with:
script: |
let pub_token = await core.getIDToken('https://pub.dev')
core.exportVariable('PUB_TOKEN', pub_token)
- name: 📢 Authenticate
run: flutter pub pub token add https://pub.dev --env-var PUB_TOKEN
- name: 📦 Install Dependencies
run: flutter pub get
- name: 📢 Publish
run: dart pub publish --force
run: flutter pub publish -f
4 changes: 4 additions & 0 deletions packages/flame_steering_behaviors/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 0.2.0

- chore: tighten dependencies ([#64](https://github.com/VeryGoodOpenSource/flame_behaviors/pull/64, [#67](https://github.com/VeryGoodOpenSource/flame_behaviors/pull/67, [#71](https://github.com/VeryGoodOpenSource/flame_behaviors/pull/71)

# 0.1.0 (2023-12-21)

- initial release
Expand Down
2 changes: 1 addition & 1 deletion packages/flame_steering_behaviors/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: flame_steering_behaviors
description: Flame Steering Behaviors brings steering algorithms to the behavior pattern, built by Very Good Ventures.
version: 0.1.0
version: 0.2.0
homepage: https://github.com/VeryGoodOpenSource/flame_behaviors
repository: https://github.com/VeryGoodOpenSource/flame_behaviors
issue_tracker: https://github.com/VeryGoodOpenSource/flame_behaviors/issues
Expand Down
79 changes: 79 additions & 0 deletions packages/flame_steering_behaviors/tool/release_ready.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Ensures that the package is ready for 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 "pubspec.yaml" ]; then
echo "$(pwd) is not a valid Dart package."
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 "pubspec.yaml" ]; then
old_version=$(dart pub deps --json | pcregrep -o1 -i '"version": "(.*?)"' | head -1)
current_name=$(dart pub deps --json | pcregrep -o1 -i '"name": "(.*?)"' | head -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="${current_name}-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\/flame_behaviors\/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 "pubspec.yaml" ]; then
sed -i '' "s/version: $old_version/version: $new_version/g" pubspec.yaml
fi

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

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

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

git add pubspec.yaml CHANGELOG.md
if [ -f lib/version.dart ]; then
git add lib/version.dart
fi

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

0 comments on commit 9dcdae6

Please sign in to comment.