39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
# 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 }}`.
|