chore(go): use vociferate for unreleased parsing
This commit is contained in:
@@ -147,9 +147,15 @@ runs:
|
||||
-H "Content-Type: application/json" \
|
||||
"$comments_url" >/dev/null
|
||||
|
||||
- name: Setup Go for vociferate
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version-file: ${{ github.action_path }}/../go.mod
|
||||
|
||||
- name: Extract changelog unreleased entries
|
||||
id: extract-changelog
|
||||
shell: bash
|
||||
working-directory: ${{ github.action_path }}/..
|
||||
env:
|
||||
CHANGELOG: ${{ inputs.changelog }}
|
||||
run: |
|
||||
@@ -160,24 +166,10 @@ runs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Extract everything between [Unreleased] header and the next [X.Y.Z] header
|
||||
unreleased="$(awk '
|
||||
/^## \[Unreleased\]/ { in_unreleased=1; next }
|
||||
/^## \[[0-9]+\.[0-9]+\.[0-9]+\]/ { if (in_unreleased) exit }
|
||||
in_unreleased && NF { print }
|
||||
' "$CHANGELOG")"
|
||||
|
||||
# Use a temporary file to handle multiline content
|
||||
tmp_file=$(mktemp)
|
||||
printf '%s' "$unreleased" > "$tmp_file"
|
||||
|
||||
# Read it back and set as output
|
||||
delimiter="EOF_CHANGELOG"
|
||||
printf '%s<<%s\n' "unreleased_entries<<$delimiter" "$delimiter" >> "$GITHUB_OUTPUT"
|
||||
cat "$tmp_file" >> "$GITHUB_OUTPUT"
|
||||
printf 'unreleased_entries<<%s\n' "$delimiter" >> "$GITHUB_OUTPUT"
|
||||
go run ./cmd/vociferate --print-unreleased --root "$GITHUB_WORKSPACE" --changelog "$CHANGELOG" >> "$GITHUB_OUTPUT"
|
||||
printf '%s\n' "$delimiter" >> "$GITHUB_OUTPUT"
|
||||
|
||||
rm -f "$tmp_file"
|
||||
|
||||
- name: Validate changelog gate
|
||||
id: changelog-gate
|
||||
|
||||
Reference in New Issue
Block a user