@@ -3,7 +3,7 @@ name: Publish npm package
3
3
on :
4
4
push :
5
5
tags :
6
- - ' v*'
6
+ - ' v*' # Триггерим workflow при создании тега, начинающегося с 'v'
7
7
8
8
jobs :
9
9
publish :
13
13
- name : Checkout code
14
14
uses : actions/checkout@v4
15
15
with :
16
- fetch-depth : 0
16
+ fetch-depth : 0 # Получаем всю историю коммитов для работы с тегами
17
17
18
18
- name : Setup Node.js
19
19
uses : actions/setup-node@v4
39
39
run : |
40
40
echo "Determining branch and version..."
41
41
echo "github.ref: ${{ github.ref }}"
42
- if [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then
42
+
43
+ # Получаем коммит, на который указывает тег
44
+ TAG_COMMIT=$(git rev-list -n 1 $TAG_NAME)
45
+ echo "TAG_COMMIT: $TAG_COMMIT"
46
+
47
+ # Определяем, из какой ветки был создан коммит
48
+ BRANCH_NAME=$(git branch -a --contains $TAG_COMMIT | grep -E 'remotes/origin/(develop|master)' | sed 's|remotes/origin/||' | head -n 1)
49
+ echo "BRANCH_NAME: $BRANCH_NAME"
50
+
51
+ if [[ "$BRANCH_NAME" == "develop" ]]; then
43
52
echo "Tag was created from the develop branch."
44
53
TIMESTAMP=$(date -u +"%Y%m%d%H%M%S")
45
54
VERSION="${TAG_NAME}-dev${TIMESTAMP}"
94
103
NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
95
104
96
105
- name : Commit and push changes to develop
97
- if : github.ref == 'refs/heads/ develop' && env.CURRENT_VERSION != env.VERSION
106
+ if : env.BRANCH_NAME == 'develop' && env.CURRENT_VERSION != env.VERSION
98
107
run : |
99
108
echo "Preparing to commit and push changes to develop..."
100
109
git config --global user.name "GitHub Actions"
0 commit comments