duyet/LLM Release Action

Generate AI release notes (GitHub Copilot → GitHub Models → AnyRouter fallback) with deterministic recap stats, a Docker-pull/Dockerfile block, a compare link, and an optional paste-able migration prompt — then publish them to the GitHub Release. Shared release logic for duyet's repos.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 18, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: duyet/llm-release-action@c093cf84e48929399c06a047c566558177334261 # no releases — HEAD as of 2026-07-11

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
release-tagRelease tag to build notes for, e.g. v0.3.0.yes
previous-tagPrevious tag for the compare link. Auto-detected from git when empty.no""
project-nameHuman project name used in the default notes prompt and attribution. Defaults to the repo name.no""
notes-prompt-filePath to a repo-local release-notes prompt template. Falls back to the bundled generic template.no""
system-prompt-filePath to a repo-local system prompt. Falls back to the bundled generic system prompt.no""
migration-prompt-filePath to a repo-local migration prompt appended on breaking/non-patch releases.no""
migrationWhether to append the migration prompt: auto | true | false.noauto
copilot-modelModel id for the GitHub Copilot tier.noopenai/gpt-4o
models-modelModel id for the GitHub Models tier.noopenai/gpt-4o
anyrouter-api-keyAnyRouter API key. The AnyRouter tier only runs when this is set.no""
anyrouter-endpointAnyRouter OpenAI-compatible endpoint.nohttps://anyrouter.dev/api/v1
anyrouter-modelModel id for the AnyRouter fallback tier.noopenai/gpt-4o-mini
anyrouter-sourceAnyRouter app-attribution source slug (X-AnyRouter-Source). Defaults to project-name.no""
anyrouter-titleAnyRouter app-attribution title (X-AnyRouter-Title). Defaults to project-name.no""
anyrouter-categoriesAnyRouter app-attribution category (X-AnyRouter-Categories).noprogramming-app
docker-imagePrimary published image, e.g. ghcr.io/duyet/<repo>. Enables the Docker section when set.no""
docker-extra-imageOptional second image name for the Docker section.no""
docker-versionImage tag for the Docker section. Defaults to the release tag without the leading v.no""
publishWhen true, create/update the GitHub Release body with the generated notes.notrue
github-tokenToken for gh CLI (recap API + release publish).no${{ github.token }}
namedescription
notes-filePath to the generated release-notes.md.
ai-providerWhich LLM tier produced the summary (copilot | github-models | anyrouter | empty).
migrationWhether a migration section was appended (true/false).
previous-tagThe resolved previous tag.
rangeThe resolved commit range.