github.com/bananabytelabs/wazero@v0.0.0-20240105073314-54b22a776da8/.github/workflows/release_notes.sh (about) 1 #!/bin/sh -ue 2 # 3 # This script generates the release notes "wazero" for a specific release tag. 4 # .github/workflows/release_notes.sh v1.3.0 5 6 tag=$1 7 prior_tag=$(git tag -l 'v*'|sed "/${tag}/,+10d"|tail -1) 8 if [ -n "${prior_tag}" ]; then 9 range="${prior_tag}..${tag}" 10 else 11 range=${tag} 12 fi 13 14 git config log.mailmap true 15 changelog=$(git log --format='%h %s %aN, %(trailers:key=co-authored-by)' "${range}") 16 17 # strip the v off the tag name more shell portable than ${tag:1} 18 version=$(echo "${tag}" | cut -c2-100) || exit 1 19 cat <<EOF 20 wazero ${version} supports X and Y and notably fixes Z 21 22 TODO: classify the below into up to 4 major headings and the rest as bulleted items in minor changes 23 The published release notes should only include the summary statement in this section. 24 25 ${changelog} 26 27 ## X packages 28 29 Don't forget to cite who was involved and why 30 31 ## wazero Y 32 33 ## Minor changes 34 35 TODO: don't add trivial things like fixing spaces or non-concerns like build glitches 36 37 * Z is now fixed thanks to Yogi Bear 38 39 EOF