-
Notifications
You must be signed in to change notification settings - Fork 1
47 lines (39 loc) · 1.28 KB
/
version.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
name: Version
on:
workflow_dispatch:
jobs:
version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
- name: Get latest tag and increment it
run: |
git fetch -a
VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
echo $VERSION
#get number parts and increase last one by 1
VNUM1=$(echo "$VERSION" | cut -d"." -f1)
VNUM2=$(echo "$VERSION" | cut -d"." -f2)
VNUM3=$(echo "$VERSION" | cut -d"." -f3)
VNUM1=`echo $VNUM1 | sed 's/v//'`
# Check for #major or #minor in commit message and increment the relevant version number
MAJOR=`git log --format=%B -n 1 HEAD | grep '#major'`
MINOR=`git log --format=%B -n 1 HEAD | grep '#minor'`
if [ "$MAJOR" ]; then
echo "Update major version"
VNUM1=$((VNUM1+1))
VNUM2=0
VNUM3=0
elif [ "$MINOR" ]; then
echo "Update minor version"
VNUM2=$((VNUM2+1))
VNUM3=0
else
echo "Update patch version"
VNUM3=$((VNUM3+1))
fi
#create new tag
NEW_TAG="v$VNUM1.$VNUM2.$VNUM3"
echo $NEW_TAG