github.com/kelleygo/clashcore@v1.0.2/.github/genReleaseNote.sh (about)

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