ci: fix release-notes for tag builds
This commit is contained in:
@@ -11,7 +11,13 @@ if [ -z "$CURRENT_TAG" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PREVIOUS_TAG=$(git describe --tags --abbrev=0 "$CURRENT_TAG"^ 2>/dev/null || echo "")
|
||||
# In CI, the tag name may be available but not present as a local ref.
|
||||
CURRENT_REF="$CURRENT_TAG"
|
||||
if ! git rev-parse --verify -q "${CURRENT_REF}^{commit}" >/dev/null; then
|
||||
CURRENT_REF="${DRONE_COMMIT:-HEAD}"
|
||||
fi
|
||||
|
||||
PREVIOUS_TAG=$(git describe --tags --abbrev=0 "${CURRENT_REF}^" 2>/dev/null || echo "")
|
||||
|
||||
mkdir -p "$(dirname "$OUTPUT_FILE")"
|
||||
|
||||
@@ -23,7 +29,7 @@ mkdir -p "$(dirname "$OUTPUT_FILE")"
|
||||
echo "Changes since $PREVIOUS_TAG:"
|
||||
echo
|
||||
|
||||
git log "$PREVIOUS_TAG..$CURRENT_TAG" --pretty=format:"%s" | while read -r commit; do
|
||||
git log "$PREVIOUS_TAG..$CURRENT_REF" --pretty=format:"%s" | while read -r commit; do
|
||||
if [[ $commit =~ ^([a-z]+)(\(.+\))?:\ (.+)$ ]]; then
|
||||
TYPE="${BASH_REMATCH[1]}"
|
||||
SCOPE="${BASH_REMATCH[2]}"
|
||||
@@ -54,7 +60,7 @@ mkdir -p "$(dirname "$OUTPUT_FILE")"
|
||||
else
|
||||
echo "Initial release"
|
||||
echo
|
||||
git log "$CURRENT_TAG" --pretty=format:"- %s" | head -20
|
||||
git log "$CURRENT_REF" --pretty=format:"- %s" | head -20
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user