Skip to content

Changelog

Build release changelog markdown from PR metadata JSON and changelog configuration.

Usage

- name: Build changelog
  id: changelog
  uses: athackst/ci/actions/changelog@main
  with:
    pr-info-path: ${{ steps.version.outputs.pr-info-path }}

Inputs

Name Description Default
configuration-path (optional) Path to changelog.yml configuration. Bundled changelog.yml
pr-info-path Path to PR metadata JSON generated by version-resolver. None

Outputs

Name Description
changelog Category-grouped changelog text.
pull-requests Comma-separated PR numbers included in the changelog.

Advanced

  • Uses the bundled config when configuration-path is not set.
  • Reads PRs from either pr_info.pull_requests or top-level pull_requests.
  • Category matching is ordered and first-match-wins, so a PR appears at most once.
  • PRs with labels listed in exclude-labels are omitted.
  • Unmatched PRs are grouped under ## Miscellaneous.
  • Categories can collapse into a <details> block when collapse-after is exceeded.

Examples

Use a repository-specific changelog config:

- name: Build changelog
  id: changelog
  uses: athackst/ci/actions/changelog@main
  with:
    configuration-path: .github/changelog.yml
    pr-info-path: ${{ steps.version.outputs.pr-info-path }}