ci: fix release-notes for tag builds
This commit is contained in:
parent
0ee28fbc1f
commit
e975dd3fa2
|
|
@ -27,6 +27,7 @@ steps:
|
|||
- name: release-notes
|
||||
image: golang:1.25.8
|
||||
commands:
|
||||
- git fetch --tags --force || true
|
||||
- bash scripts/generate-release-notes.sh
|
||||
when:
|
||||
event:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue