diff --git a/.github/genReleaseNote.sh b/.github/genReleaseNote.sh index e3b35e76..2c2afcc6 100755 --- a/.github/genReleaseNote.sh +++ b/.github/genReleaseNote.sh @@ -1 +1,32 @@ -git log --pretty=format:"* %s by @%an" v1.14.x..v1.14.y | sort -f | uniq > release.md +#!/bin/bash + +while getopts "v:" opt; do + case $opt in + v) + version_range=$OPTARG + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + exit 1 + ;; + esac +done + +if [ -z "$version_range" ]; then + echo "Please provide the version range using -v option. Example: ./genReleashNote.sh -v v1.14.1...v1.14.2" + exit 1 +fi + +echo "## What's Changed" > release.md +git log --pretty=format:"* %s by @%an" --grep="^feat" $version_range | sort -f | uniq >> release.md +echo "" >> release.md + +echo "## BUG & Fix" >> release.md +git log --pretty=format:"* %s by @%an" --grep="^fix" $version_range | sort -f | uniq >> release.md +echo "" >> release.md + +echo "## Maintenance" >> release.md +git log --pretty=format:"* %s by @%an" --grep="^chore\|^docs" $version_range | sort -f | uniq >> release.md +echo "" >> release.md + +echo "**Full Changelog**: https://github.com/MetaCubeX/Clash.Meta/compare/$version_range" >> release.md