feat(action): changelog/generate - Generate changelog from commits
- Dominant language
- Shell
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Parent Epic
Part of #22 (Atomic Release Pipeline Actions)
## Priority
P1 - Release support for W6
## Description
Create a composite action that generates changelog entries from conventional commits using git-cliff.
## Inputs
| Input | Required | Default | Description |
|-------|----------|---------|-------------|
| `artifact` | Yes | - | Artifact name |
| `artifact-path` | Yes | - | Path to artifacts directory |
| `version` | Yes | - | Version for the changelog entry |
| `base-ref` | No | `origin/main` | Base ref for commit range |
| `config` | No | `cliff.toml` | Path to git-cliff config |
| `output-format` | No | `markdown` | Output format: markdown, json |
## Outputs
| Output | Description |
|--------|-------------|
| `changelog` | Generated changelog content |
| `commits-analyzed` | Number of commits analyzed |
## Usage Example
```yaml
- uses: arustydev/gha/actions/changelog/generate@v1
id: changelog
with:
artifact: my-chart
artifact-path: charts
version: "1.3.0"
- run: echo "${{ steps.changelog.outputs.changelog }}"
```
## Implementation Notes
- Uses git-cliff for changelog generation
- Filters commits by artifact path
- Supports custom git-cliff configuration
- Falls back to simple commit list if git-cliff fails
## Source Reference
`helm-charts/.github/scripts/version-bump.sh`:
- `generate_changelog()` (lines 159-226)
## Related
- #13 - changelog generation (consolidate)
- #35 - changelog/extract-version (complementary)
Contributor guide
Assessment
This issue has not been assessed yet.