Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5859bc4f4c | ||
|
|
9de6619407 | ||
|
|
27841c72fe | ||
|
|
0fabd2aea3 | ||
|
|
e777399e72 | ||
|
|
66101c80c9 | ||
|
|
43bc32c77b | ||
|
|
d3cfa1cbcf | ||
|
|
dc5a26c146 | ||
|
|
0acef09910 |
@@ -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:
|
||||||
@@ -143,6 +139,9 @@ jobs:
|
|||||||
tag:
|
tag:
|
||||||
name: Tag Commit
|
name: Tag Commit
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
rules:
|
||||||
|
- if: github.event_name == 'push' && github.ref_type == 'tag'
|
||||||
|
when: never
|
||||||
# needs: lint
|
# needs: lint
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -154,8 +153,9 @@ 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 tag -l "v*" | sort -V | tail -n 1)
|
||||||
echo $LATEST_TAG
|
echo $LATEST_TAG
|
||||||
|
|
||||||
if [[ $LATEST_TAG =~ ^v([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
|
if [[ $LATEST_TAG =~ ^v([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
|
||||||
@@ -173,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