Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0fabd2aea3 | ||
|
|
e777399e72 | ||
|
|
66101c80c9 | ||
|
|
43bc32c77b | ||
|
|
d3cfa1cbcf | ||
|
|
dc5a26c146 |
@@ -5,14 +5,10 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- release
|
- release
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- release
|
- release
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
@@ -144,9 +140,8 @@ jobs:
|
|||||||
name: Tag Commit
|
name: Tag Commit
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG
|
- if: github.event_name == 'push' && github.ref_type == 'tag'
|
||||||
when: never
|
when: never
|
||||||
- when: always
|
|
||||||
# needs: lint
|
# needs: lint
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -158,7 +153,8 @@ jobs:
|
|||||||
- name: Get latest tag
|
- name: Get latest tag
|
||||||
id: get-latest-tag
|
id: get-latest-tag
|
||||||
run: |
|
run: |
|
||||||
git fetch --tags
|
git fetch --tags --force
|
||||||
|
|
||||||
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo 'v0.0.0')
|
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo 'v0.0.0')
|
||||||
echo $LATEST_TAG
|
echo $LATEST_TAG
|
||||||
|
|
||||||
@@ -177,9 +173,23 @@ jobs:
|
|||||||
NEW_PATCH=$((PATCH + 1))
|
NEW_PATCH=$((PATCH + 1))
|
||||||
NEW_TAG="v${MAJOR}.${MINOR}.${NEW_PATCH}"
|
NEW_TAG="v${MAJOR}.${MINOR}.${NEW_PATCH}"
|
||||||
|
|
||||||
echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_OUTPUT
|
echo "NEW_TAG=$NEW_TAG" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Push tag
|
if git ls-remote --tags origin "refs/tags/$NEW_TAG" | grep -q "$NEW_TAG"; then
|
||||||
|
echo "Tag $NEW_TAG already exists remotely, skipping tag creation"
|
||||||
|
echo "TAG_EXISTS=true" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "TAG_EXISTS=false" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Push tag (if it doesn't exist)
|
||||||
|
if: steps.get-latest-tag.outputs.TAG_EXISTS == 'false'
|
||||||
run: |
|
run: |
|
||||||
git tag ${{ steps.get-latest-tag.outputs.NEW_TAG }}
|
git tag ${{ steps.get-latest-tag.outputs.NEW_TAG }}
|
||||||
git push origin ${{ steps.get-latest-tag.outputs.NEW_TAG }}
|
git push origin ${{ steps.get-latest-tag.outputs.NEW_TAG }}
|
||||||
|
echo "Successfully pushed tag: ${{ steps.get-latest-tag.outputs.NEW_TAG }}"
|
||||||
|
|
||||||
|
- name: Skip tag push (tag already exists)
|
||||||
|
if: steps.get-latest-tag.outputs.TAG_EXISTS == 'true'
|
||||||
|
run: |
|
||||||
|
echo "Skipping tag push - tag ${{ steps.get-latest-tag.outputs.NEW_TAG }} already exists remotely"
|
||||||
|
|||||||
Reference in New Issue
Block a user