Files
thepraandClaude Opus 5.5 5ced47c2b9 changelog: a path input for a checkout that is not the workspace itself
decePubClient fetches itself into a folder of its own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 18:15:22 +01:00

66 lines
2.6 KiB
YAML

name: Release notes
description: What changed since the previous tag, from the commit messages, in every format a release needs; optionally on the Releases tab
inputs:
path:
description: The git checkout to read, relative to the workspace
default: .
prefix:
description: The tag prefix of this kind of release (v, app-v, server-v)
default: v
tag:
description: The tag being released; by default the tag that started the run, or everything since the newest tag
default: ''
name:
description: The product's name in headings; the repository's name by default
default: ''
strip:
description: A regular expression removed from the start of each subject
default: ''
packager:
description: Name <address> written into the deb and rpm changelogs
default: Arasaka di Hvozdikov Yevheniy <https://arasaka.software/contact>
history:
description: How many releases CHANGELOG.md and the package changelog carry
default: '20'
output:
description: The folder the notes are written to
default: release-notes
release:
description: "'true' also creates or updates this tag's release on the Releases tab with the notes"
default: 'false'
token:
description: A token that may write this repository's releases (only with release)
default: ${{ github.token }}
outputs:
dir:
description: The folder with notes.md, notes.txt, CHANGELOG.md, changelog.yml, notes.json and store/en-US.txt
value: ${{ steps.notes.outputs.dir }}
notes:
description: The path of notes.md
value: ${{ steps.notes.outputs.notes }}
previous:
description: The previous tag, empty for a first release
value: ${{ steps.notes.outputs.previous }}
runs:
using: composite
steps:
- id: notes
shell: bash
env:
RELEASE_TOKEN: ${{ inputs.token }}
NOTES_PATH: ${{ inputs.path }}
NOTES_PREFIX: ${{ inputs.prefix }}
NOTES_TAG: ${{ inputs.tag }}
NOTES_NAME: ${{ inputs.name }}
NOTES_STRIP: ${{ inputs.strip }}
NOTES_PACKAGER: ${{ inputs.packager }}
NOTES_HISTORY: ${{ inputs.history }}
NOTES_OUTPUT: ${{ inputs.output }}
NOTES_RELEASE: ${{ inputs.release }}
run: |
args=(--repo "$NOTES_PATH" --prefix "$NOTES_PREFIX" --name "$NOTES_NAME" --strip "$NOTES_STRIP" --packager "$NOTES_PACKAGER" \
--history "$NOTES_HISTORY" --out "$NOTES_OUTPUT")
[ -n "$NOTES_TAG" ] && args+=(--tag "$NOTES_TAG")
[ "$NOTES_RELEASE" = "true" ] && args+=(--release)
python3 "${{ github.action_path }}/changelog.py" "${args[@]}"