@@ -18,17 +18,25 @@ jobs:
18
18
- name : 🔖 Get latest tag
19
19
id : get_latest_tag
20
20
run : |
21
- latest_tag=$(git describe --tags --abbrev=0 || echo "v1.0.0")
21
+ latest_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo "v1.0.0")
22
22
echo "latest_tag=$latest_tag" >> "$GITHUB_OUTPUT"
23
23
24
24
- name : 🆕 Create new tag (optional on master push)
25
25
if : github.event_name == 'push'
26
+ id : create_new_tag
26
27
run : |
27
- new_tag=$(echo "${{ steps.get_latest_tag.outputs.latest_tag }}" | awk -F. -v OFS=. '{$NF += 1 ; print}')
28
+ latest_tag="${{ steps.get_latest_tag.outputs.latest_tag }}"
29
+ version_without_v="${latest_tag#v}"
30
+
31
+ new_version=$(echo "$version_without_v" | awk -F. -v OFS=. '{$NF += 1 ; print}')
32
+ new_tag="v$new_version"
33
+
28
34
git config user.name "GitHub Actions"
29
35
git config user.email "[email protected] "
30
36
git tag "$new_tag"
31
37
git push origin "$new_tag"
38
+
39
+ echo "new_tag=$new_tag" >> "$GITHUB_OUTPUT"
32
40
env :
33
41
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
34
42
43
51
- name : 🚀 Create GitHub Release
44
52
uses : softprops/action-gh-release@v2
45
53
with :
46
- tag_name : ${{ steps.get_latest_tag.outputs.latest_tag }}
47
- name : Release ${{ steps.get_latest_tag.outputs.latest_tag }}
54
+ tag_name : ${{ steps.create_new_tag.outputs.new_tag || steps. get_latest_tag.outputs.latest_tag }}
55
+ name : Release ${{ steps.create_new_tag.outputs.new_tag || steps. get_latest_tag.outputs.latest_tag }}
48
56
body : ${{ steps.changelog.outputs.changelog }}
49
57
env :
50
58
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments