# generate-release-notes Collects the git commit log between two refs and generates human-readable release notes using [Opencode](https://opencode.ai) with AWS Bedrock. ## Inputs | Input | Required | Default | Description | |-------|----------|---------|-------------| | `bedrock-bearer-token` | Yes | — | AWS Bedrock bearer token for Opencode | | `base-ref` | Yes | — | Base branch for git log comparison (e.g. `main` or `dev`) | | `head-ref` | Yes | — | Head branch for git log comparison (e.g. `HEAD` or `dev`) | | `section-title` | Yes | — | Title for the commits section in the generated markdown | | `empty-message` | Yes | — | Message to include when no commits are found | | `include-diff-stat` | No | `true` | Include a "Changed files" section with `git diff --stat` output | ## Outputs | Output | Description | |--------|-------------| | `release-note` | The generated release notes as a markdown string | ## Usage ```yaml - id: notes uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/generate-release-notes@generate-release-notes-v1 with: bedrock-bearer-token: ${{ secrets.BEDROCK_BEARER_TOKEN }} base-ref: main head-ref: HEAD section-title: My Service empty-message: No changes since last release. ``` ## Notes - Requires the repository to be checked out with enough history for the comparison (use `fetch-depth: 0` in the `checkout` action). - Release notes are generated in German and categorised into 💡 Features, 🪲 Bugfixes, and 🧹 Wartung based on conventional commit prefixes. - The output can be passed directly to the `publish-release-notes-via-webhook` action via `${{ steps.notes.outputs.release-note }}`.