This commit is contained in:
@@ -22,19 +22,31 @@ jobs:
|
|||||||
if: ${{ github.event_name == 'push' }}
|
if: ${{ github.event_name == 'push' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
git fetch --tags --unshallow || true
|
git fetch --tags || true
|
||||||
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.2.0")
|
|
||||||
|
|
||||||
|
# Determine last tag and log range
|
||||||
|
if git describe --tags --abbrev=0 >/dev/null 2>&1; then
|
||||||
|
LAST_TAG=$(git describe --tags --abbrev=0)
|
||||||
|
RANGE="${LAST_TAG}..HEAD"
|
||||||
|
else
|
||||||
|
LAST_TAG="v0.1.9"
|
||||||
|
RANGE="HEAD"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Calculate next version
|
||||||
IFS='.' read -r major minor patch <<< "${LAST_TAG#v}"
|
IFS='.' read -r major minor patch <<< "${LAST_TAG#v}"
|
||||||
NEW_VERSION="$major.$minor.$((patch + 1))"
|
NEW_VERSION="$major.$minor.$((patch + 1))"
|
||||||
NEW_TAG="v$NEW_VERSION"
|
NEW_TAG="v$NEW_VERSION"
|
||||||
|
|
||||||
CHANGELOG=$(git log ${LAST_TAG}..HEAD --oneline | sed 's/^/* /')
|
# Log commits
|
||||||
|
CHANGELOG=$(git log $RANGE --oneline | sed 's/^/* /')
|
||||||
[ -z "$CHANGELOG" ] && CHANGELOG="Maintenance build."
|
[ -z "$CHANGELOG" ] && CHANGELOG="Maintenance build."
|
||||||
|
|
||||||
|
# Tag and push back to Gitea
|
||||||
git tag $NEW_TAG
|
git tag $NEW_TAG
|
||||||
git push origin $NEW_TAG
|
git push origin $NEW_TAG
|
||||||
|
|
||||||
|
# Set outputs for next steps
|
||||||
echo "version-string=$NEW_VERSION" >> $GITHUB_OUTPUT
|
echo "version-string=$NEW_VERSION" >> $GITHUB_OUTPUT
|
||||||
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
||||||
echo "## What's Changed" >> $GITHUB_OUTPUT
|
echo "## What's Changed" >> $GITHUB_OUTPUT
|
||||||
@@ -99,7 +111,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Package Build
|
- name: Package Build
|
||||||
run: |
|
run: |
|
||||||
# Use -not -path "*/CMakeFiles/*" to exclude the temporary "a.exe" files
|
|
||||||
EXE=$(find build -name "*.exe" -not -path "*/CMakeFiles/*" | head -1)
|
EXE=$(find build -name "*.exe" -not -path "*/CMakeFiles/*" | head -1)
|
||||||
echo "Found EXE: $EXE"
|
echo "Found EXE: $EXE"
|
||||||
mkdir -p release
|
mkdir -p release
|
||||||
|
|||||||
Reference in New Issue
Block a user