Skip to content

Commit 096c774

Browse files
authored
Merge c0f4986 into 0ef8ed5
2 parents 0ef8ed5 + c0f4986 commit 096c774

File tree

1 file changed

+38
-8
lines changed

1 file changed

+38
-8
lines changed

.github/workflows/ci.yml

+38-8
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,50 @@ jobs:
4444
run: |
4545
git fetch --unshallow || true
4646
git-chglog -o CHANGELOG.md
47-
git add CHANGELOG.md
48-
git commit -m "chore(release): update changelog [skip ci]"
49-
git push
47+
current_version=$(grep -Po '"version": "\K\d+\.\d+\.\d+' package.json)
48+
49+
if grep -qE "^\s*feat" CHANGELOG.md; then
50+
new_version=$(semver --increment minor $current_version)
51+
elif grep -qE "^\s*fix" CHANGELOG.md; then
52+
new_version=$(semver --increment patch $current_version)
53+
else
54+
new_version=$current_version
55+
fi
56+
57+
sed -i -E "s/\"version\": \"[0-9]+\.[0-9]+\.[0-9]+\"/\"version\": \"$new_version\"/" package.json
58+
59+
git add CHANGELOG.md package.json
60+
git commit -m "chore(release): $new_version [skip ci]"
61+
git push origin HEAD:main
62+
- name: Get current version
63+
id: get_version
64+
run: echo "PACKAGE_VERSION=$(node -p -e "require('./package.json').version")" >> $GITHUB_ENV
65+
shell: bash
66+
- name: Set previous version
67+
id: set_previous_version
68+
run: echo "PREVIOUS_VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
69+
shell: bash
70+
- name: Install SemVer
71+
run: npm i -g semver
72+
- name: Bump version
73+
id: bump_version
74+
run: |
75+
semver --increment ${{ env.BUMP_TYPE }} ${{ env.PACKAGE_VERSION }} --preid=beta.${{ github.run_number }} -i -f -p 'beta' > version.txt
76+
echo "NEW_VERSION=$(cat version.txt)" >> $GITHUB_ENV
77+
shell: bash
78+
- name: Update package.json
79+
run: |
80+
npm version --no-git-tag-version $(cat version.txt)
81+
shell: bash
5082
- name: Create a new release
51-
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
5283
uses: actions/create-release@v1
5384
env:
5485
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
5586
with:
56-
tag_name: ${{ github.ref }}
57-
release_name: ${{ github.ref }}
87+
tag_name: ${{ env.NEW_VERSION }}
88+
release_name: Release ${{ env.NEW_VERSION }}
5889
body: |
59-
Release ${{ github.ref }}
60-
$(cat CHANGELOG.md)
90+
${{ steps.generate_release_notes.outputs.release_notes }}
6191
draft: false
6292
prerelease: false
6393

0 commit comments

Comments
 (0)