Files
ah-annotations/README.md
T
volker.raschekandCopilot 994de3ecec
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 9s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 11s
Markdown linter / markdown-link-checker (push) Successful in 29s
Markdown linter / markdown-lint (push) Successful in 35s
feat: support all SemVer 2.0 pre-release identifiers
Replace the RC-only pattern with a generic SemVer 2.0 pre-release
pattern so that tags like -alpha, -beta, -dev or -rc are all correctly
detected as pre-releases. Previously only -rc tags were recognized.

Also configure git user identity before tagging in the auto-release
workflow.

Co-authored-by: Copilot <copilot@github.com>
2026-08-17 22:14:28 +02:00

3.5 KiB

ah-annotation

GitHub Action to generate ArtifactHub annotations from Git commit history and add them to Chart.yaml.

The action parses conventional commit messages between two Git tags and produces an artifacthub.io/changes annotation. Pre-release tags according to SemVer 2.0 (e.g. -alpha, -beta.1, -rc.2) are detected automatically and result in an artifacthub.io/prerelease annotation instead.

Usage

Auto-detect tags

Without explicit inputs the action determines the two most recent stable (non-pre-release) tags from the Git history:

steps:
  - uses: actions/checkout@v7.0.1
    with:
      fetch-depth: 0
  - uses: volker.raschek/ah-annotations@v0.1.2

Explicit tags

Pass old-tag and new-tag to control the commit range:

steps:
  - uses: actions/checkout@v7.0.1
    with:
      fetch-depth: 0
  - uses: volker.raschek/ah-annotations@v0.1.2
    with:
      old-tag: v1.0.0
      new-tag: v2.0.0

Inputs

Name Required Default Description
chart-path no ${{ github.workspace }}/Chart.yaml Path to the Helm chart file.
old-tag no auto-detected Start tag for changelog generation.
new-tag no auto-detected End tag for changelog generation.
yq-version no v4.53.3 Version of yq to install.
yq-arch no auto-detected Architecture of yq binary to download.
yq-os no auto-detected Operating system of yq binary to download.
yq-binary-name no yq Name of the yq binary to download.
yq-download-url no auto-built Full URL to download yq from.

Requirements

  • The repository must be checked out with full history (fetch-depth: 0).
  • A Chart.yaml file must exist at the path specified by chart-path.
  • Commit messages must follow the Conventional Commits format.

Pre-releases

Tags containing a hyphen-separated pre-release identifier according to SemVer 2.0 are treated as pre-releases (e.g. v1.0.0-alpha, v1.0.0-beta.1, v2.0.0-rc.2). When new-tag is a pre-release tag, the action:

  1. Sets artifacthub.io/prerelease: "true" in Chart.yaml.
  2. Skips changelog generation entirely.

When auto-detecting tags (no explicit old-tag/new-tag), the action ignores pre-release tags and selects the two most recent stable tags instead.

Commit type mapping

Commit type ArtifactHub kind
feat added
fix fixed
chore, style, test, ci, docs, refac changed
revert removed
sec security