@@ -21,27 +21,29 @@ jobs:
21
21
- name : Determine version strategy
22
22
id : determine_version
23
23
run : |
24
- if git rev-parse "refs/tags/" >/dev/null 2>&1; then
25
- # Tags exist, use existing strategy
26
- latest_tag=$(git describe --tags --abbrev=0)
27
- echo "Latest tag: $latest_tag"
24
+ latest_tag=$(git describe --tags $(git rev-list --tags --max-count=1))
25
+ echo "Latest tag: $latest_tag"
28
26
27
+ if [ -z "$latest_tag" ]; then
28
+ # No tags, start with initial version
29
+ major=0
30
+ minor=1
31
+ patch=0
32
+ else
33
+ # Tags exist, use existing strategy
29
34
IFS='.' read -r -a parts <<< "${latest_tag//v/}"
30
35
major=${parts[0]}
31
36
minor=${parts[1]}
32
37
patch=${parts[2]}
33
38
34
39
# Increment the patch version
35
40
new_patch=$((patch + 1))
36
- new_tag="v$major.$minor.$new_patch"
37
- else
38
- # No tags, start with initial version
39
- major=0
40
- minor=1
41
- patch=0
42
- new_tag="v$major.$minor.$patch"
41
+ major=${major:-0}
42
+ minor=${minor:-0}
43
+ patch=${patch:-0}
43
44
fi
44
45
46
+ new_tag="v$major.$minor.$new_patch"
45
47
echo "New tag: $new_tag"
46
48
echo "new_tag=$new_tag" >> $GITHUB_ENV
47
49
50
52
run : |
51
53
while git rev-parse "refs/tags/${{ env.new_tag }}" >/dev/null 2>&1; do
52
54
echo "Tag ${{ env.new_tag }} already exists."
53
-
54
- # Increment the patch version
55
+
55
56
IFS='.' read -r -a parts <<< "${new_tag//v/}"
56
57
major=${parts[0]}
57
58
minor=${parts[1]}
67
68
- name : Create new tag
68
69
run : |
69
70
git tag "${{ env.new_tag }}"
70
- git push --tags
71
+ git push origin "${{ env.new_tag }}"
71
72
72
73
- name : Create GitHub release
73
74
uses : actions/create-release@v1
0 commit comments