Skip to content
Merged

Dev #64

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 41 additions & 13 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
required: false
default: "patch"

permissions:
contents: write
pull-requests: write

jobs:
release:
runs-on: ubuntu-latest
Expand All @@ -18,7 +22,7 @@ jobs:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0 # важно, чтобы теги и история были доступны
fetch-depth: 0 # нужно для тегов и истории

- name: Install jq
run: sudo apt-get install -y jq
Expand All @@ -45,16 +49,7 @@ jobs:
echo "new_version=$new_version" >> $GITHUB_OUTPUT
echo "Version bumped to $new_version"

- name: Commit and tag new version
run: |
git config user.name "github-actions[bot]"
git config user.email "actions@github.com"
git add package.json
git commit -m "chore: release v${{ steps.bump_version.outputs.new_version }}"
git tag -a "v${{ steps.bump_version.outputs.new_version }}" -m "Release ${{ steps.bump_version.outputs.new_version }}"
git push origin master --tags

- name: Generate changelog
- name: Generate changelog text
id: changelog
run: |
last_tag=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
Expand All @@ -68,16 +63,49 @@ jobs:
echo "$log" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

- name: Create GitHub release
- name: Update CHANGELOG.md
run: |
VERSION=${{ steps.bump_version.outputs.new_version }}
DATE=$(date +'%Y-%m-%d')
CHANGELOG="## v$VERSION - $DATE

${{ steps.changelog.outputs.log }}

"
if [ -f CHANGELOG.md ]; then
echo -e "$CHANGELOG$(cat CHANGELOG.md)" > CHANGELOG.md
else
echo -e "# Changelog\n\n$CHANGELOG" > CHANGELOG.md
fi

- name: Create PR with version bump
uses: peter-evans/create-pull-request@v6
with:
commit-message: "chore: release v${{ steps.bump_version.outputs.new_version }}"
branch: "release/v${{ steps.bump_version.outputs.new_version }}"
title: "Release v${{ steps.bump_version.outputs.new_version }}"
body: |
This PR updates:
- **package.json**
- **CHANGELOG.md**

After merging, a new draft GitHub release will be created automatically.
labels: release
add-paths: |
package.json
CHANGELOG.md

- name: Create draft GitHub release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.bump_version.outputs.new_version }}
name: Release ${{ steps.bump_version.outputs.new_version }}
body: |
Unity package **com.alexeytaranov.serializereferencedropdown**
🧩 Unity package **com.alexeytaranov.serializereferencedropdown**
Version: ${{ steps.bump_version.outputs.new_version }}

### Changelog
${{ steps.changelog.outputs.log }}
draft: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}