genReleaseNote.sh 952 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. while getopts "v:" opt; do
  3. case $opt in
  4. v)
  5. version_range=$OPTARG
  6. ;;
  7. \?)
  8. echo "Invalid option: -$OPTARG" >&2
  9. exit 1
  10. ;;
  11. esac
  12. done
  13. if [ -z "$version_range" ]; then
  14. echo "Please provide the version range using -v option. Example: ./genReleashNote.sh -v v1.14.1...v1.14.2"
  15. exit 1
  16. fi
  17. echo "## What's Changed" > release.md
  18. git log --pretty=format:"* %h %s by @%an" --grep="^feat" -i $version_range | sort -f | uniq >> release.md
  19. echo "" >> release.md
  20. echo "## BUG & Fix" >> release.md
  21. git log --pretty=format:"* %h %s by @%an" --grep="^fix" -i $version_range | sort -f | uniq >> release.md
  22. echo "" >> release.md
  23. echo "## Maintenance" >> release.md
  24. git log --pretty=format:"* %h %s by @%an" --grep="^chore\|^docs\|^refactor" -i $version_range | sort -f | uniq >> release.md
  25. echo "" >> release.md
  26. echo "**Full Changelog**: https://github.com/MetaCubeX/mihomo/compare/$version_range" >> release.md