@@ -64,15 +64,25 @@ jobs:
6464 SNAPSHOT_VERSION="v${BASE_VERSION}-snapshot.${NEXT_SNAPSHOT_NUMBER}"
6565 BASENAME="casbin-${SNAPSHOT_VERSION#v}-src"
6666
67+ if [ "${LAST_SNAPSHOT_NUMBER}" -gt 0 ]; then
68+ CHANGELOG_START_TAG="v${BASE_VERSION}-snapshot.${LAST_SNAPSHOT_NUMBER}"
69+ else
70+ CHANGELOG_START_TAG="${LATEST_RELEASE_TAG}"
71+ fi
72+
6773 echo "latest_release_tag=${LATEST_RELEASE_TAG}" >> "${GITHUB_OUTPUT}"
74+ echo "changelog_start_tag=${CHANGELOG_START_TAG}" >> "${GITHUB_OUTPUT}"
6875 echo "base_version=${BASE_VERSION}" >> "${GITHUB_OUTPUT}"
6976 echo "number=${NEXT_SNAPSHOT_NUMBER}" >> "${GITHUB_OUTPUT}"
7077 echo "version=${SNAPSHOT_VERSION}" >> "${GITHUB_OUTPUT}"
7178 echo "basename=${BASENAME}" >> "${GITHUB_OUTPUT}"
7279
7380 - name : Generate snapshot release notes
7481 run : |
75- PREVIOUS_TAG="${{ steps.snapshot.outputs.latest_release_tag }}"
82+ PREVIOUS_TAG="${{ steps.snapshot.outputs.changelog_start_tag }}"
83+ CURRENT_TAG="${{ steps.snapshot.outputs.version }}"
84+ CURRENT_VERSION="${CURRENT_TAG#v}"
85+ RELEASE_DATE="$(date -u +%F)"
7686 RANGE="HEAD"
7787
7888 if [ -n "${PREVIOUS_TAG}" ]; then
8494 DOCS="$(git log --pretty=format:'%s (%h)' "${RANGE}" | grep -Ei '^(docs?|doc)(\(.+\))?: ' || true)"
8595
8696 {
87- echo "# Casbin ${{ steps.snapshot.outputs.version }}"
97+ if [ -n "${PREVIOUS_TAG}" ]; then
98+ echo "# [${CURRENT_VERSION}](https://github.com/${GITHUB_REPOSITORY}/compare/${PREVIOUS_TAG}...${CURRENT_TAG}) (${RELEASE_DATE})"
99+ else
100+ echo "# ${CURRENT_VERSION} (${RELEASE_DATE})"
101+ fi
88102 echo
89103 if [ -n "${FEATURES}" ]; then
90104 echo "## Features"
0 commit comments