15 Commits
Author SHA1 Message Date
CSRBot 9110b02a6f chore(deps): update dependency mikefarah/yq to v4.53.3
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 11s
Markdown linter / markdown-lint (push) Successful in 25s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 8s
Markdown linter / markdown-link-checker (push) Successful in 44s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (pull_request) Successful in 7s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 13s
Markdown linter / markdown-link-checker (pull_request) Successful in 32s
Markdown linter / markdown-lint (pull_request) Successful in 35s
2026-08-16 21:03:33 +00:00
volker.raschekandCopilot d5154c8f3c docs: add pre-release section and link ArtifactHub annotations
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 8s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Markdown linter / markdown-link-checker (push) Successful in 36s
Markdown linter / markdown-lint (push) Successful in 40s
Document how the action handles pre-release tags (-rc pattern),
including the prerelease annotation and skipped changelog generation.
Link "ArtifactHub annotations" to the official documentation.

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 22:29:48 +02:00
CSRBot 2d35007630 Merge pull request 'chore(deps): update dependency volker.raschek/ah-annotations to v0.1.1' (#7) from renovate/volker.raschek-ah-annotations-0.x into master
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 6s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Markdown linter / markdown-link-checker (push) Successful in 21s
Markdown linter / markdown-lint (push) Successful in 32s
2026-08-16 20:25:44 +00:00
CSRBot f2c542c849 chore(deps): update dependency volker.raschek/ah-annotations to v0.1.1
Markdown linter / markdown-lint (pull_request) Successful in 21s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 7s
Markdown linter / markdown-link-checker (push) Successful in 24s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 12s
Markdown linter / markdown-lint (push) Successful in 16s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 11s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (pull_request) Successful in 7s
Markdown linter / markdown-link-checker (pull_request) Successful in 40s
2026-08-16 20:23:18 +00:00
volker.raschekandCopilot 1f3c3084cb fix: use dirname directly instead of executing its output
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 7s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Markdown linter / markdown-link-checker (push) Successful in 24s
Markdown linter / markdown-lint (push) Successful in 33s
The command substitution caused the directory path to be executed as a
command rather than written to GITHUB_PATH, resulting in
"Is a directory" errors at runtime.

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 22:20:51 +02:00
volker.raschekandCopilot 896608c49c feat(renovate): track yq version in README via custom regex manager
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Failing after 7s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Failing after 9s
Markdown linter / markdown-link-checker (push) Successful in 23s
Markdown linter / markdown-lint (push) Successful in 33s
Adds a regex customManager to detect and update the yq version
referenced in README.md, using the mikefarah/yq GitHub releases
datasource.

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 22:16:21 +02:00
volker.raschekandCopilot f51c290f04 feat: add chart-path input and document all action inputs
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Failing after 10s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Failing after 9s
Markdown linter / markdown-link-checker (push) Successful in 42s
Markdown linter / markdown-lint (push) Successful in 17s
Add a configurable chart-path input defaulting to
${{ github.workspace }}/Chart.yaml so consumers can point the action at
non-standard chart locations. Update the README inputs table to document
all available inputs including yq-related parameters.

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 22:13:57 +02:00
volker.raschekandCopilot 6f174f4aac feat: add configurable chart-path input
Allow users to specify a custom path to Chart.yaml via the chart-path
input. The add-annotations.sh script reads the CHART_FILE environment
variable with a fallback to "Chart.yaml" for standalone usage.

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 22:10:30 +02:00
volker.raschek 68d8884ddd style: use same logger pattern
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 6s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 11s
Markdown linter / markdown-link-checker (push) Successful in 23s
Markdown linter / markdown-lint (push) Successful in 34s
2026-08-16 22:05:26 +02:00
CSRBot 9b964d0089 Merge pull request 'chore(deps): update dependency actions/checkout to v7' (#5) from renovate/actions-checkout-7.x into master
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 6s
Markdown linter / markdown-link-checker (push) Successful in 33s
Markdown linter / markdown-lint (push) Successful in 37s
2026-08-16 19:50:34 +00:00
CSRBot 57d5864e69 chore(deps): update dependency actions/checkout to v7
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 6s
Markdown linter / markdown-link-checker (push) Successful in 21s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 11s
Markdown linter / markdown-lint (push) Successful in 13s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 11s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (pull_request) Successful in 5s
Markdown linter / markdown-lint (pull_request) Successful in 20s
Markdown linter / markdown-link-checker (pull_request) Successful in 39s
2026-08-16 19:45:02 +00:00
CSRBot 7eb7e2a458 Merge pull request 'chore(deps): update dependency actions/checkout to v5.1.0' (#4) from renovate/actions-checkout-5.x into master
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 6s
Markdown linter / markdown-link-checker (push) Successful in 22s
Markdown linter / markdown-lint (push) Successful in 12s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
2026-08-16 19:38:02 +00:00
CSRBot 62f719e55e chore(deps): update dependency actions/checkout to v5.1.0
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (pull_request) Successful in 6s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 9s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 7s
Markdown linter / markdown-link-checker (push) Successful in 22s
Markdown linter / markdown-lint (push) Successful in 29s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Markdown linter / markdown-link-checker (pull_request) Successful in 23s
Markdown linter / markdown-lint (pull_request) Successful in 32s
2026-08-16 19:37:56 +00:00
volker.raschekandCopilot 09c7f8b592 chore(renovate): consolidate automerge rules and update README versions
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 8s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Markdown linter / markdown-link-checker (push) Successful in 21s
Markdown linter / markdown-lint (push) Successful in 31s
Merge the separate actions/checkout packageRule into the existing
ah-annotations rule to reduce duplication. Update README examples to use
current versions (actions/checkout@v5.0.0, ah-annotations@v0.0.1).

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 21:36:29 +02:00
volker.raschekandCopilot 3c595aa81d fix(renovate): escape slash in matchStrings and add automerge rule for actions/checkout
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 7s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 11s
Markdown linter / markdown-link-checker (push) Successful in 21s
Markdown linter / markdown-lint (push) Successful in 33s
Escape the forward slash in the ah-annotations regex pattern to ensure
correct matching. Add a packageRule to automerge minor, patch, and
pinDigest updates for actions/checkout.

Co-authored-by: Copilot <copilot@github.com>
2026-08-16 21:31:01 +02:00
5 changed files with 56 additions and 20 deletions
+26 -7
View File
@@ -1,6 +1,8 @@
# ah-annotation # ah-annotation
GitHub Action to generate ArtifactHub changelog annotations from Git commit history and add them to `Chart.yaml`. GitHub Action to generate [ArtifactHub
annotations](https://artifacthub.io/docs/topics/annotations/helm/#supported-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. The action parses conventional commit messages between two Git tags and produces an `artifacthub.io/changes` annotation.
Pre-release tags (matching `-rc`) are detected automatically and result in an `artifacthub.io/prerelease` annotation Pre-release tags (matching `-rc`) are detected automatically and result in an `artifacthub.io/prerelease` annotation
@@ -14,10 +16,10 @@ Without explicit inputs the action determines the two most recent non-RC tags fr
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v7.0.1
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: volker.raschek/ah-annotations@v1 - uses: volker.raschek/ah-annotations@v0.1.1
``` ```
### Explicit tags ### Explicit tags
@@ -26,10 +28,10 @@ Pass `old-tag` and `new-tag` to control the commit range:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v7.0.1
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: volker.raschek/ah-annotations@v1.0.0 - uses: volker.raschek/ah-annotations@v0.1.1
with: with:
old-tag: v1.0.0 old-tag: v1.0.0
new-tag: v2.0.0 new-tag: v2.0.0
@@ -38,16 +40,33 @@ steps:
## Inputs ## Inputs
| Name | Required | Default | Description | | 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. | | `old-tag` | no | auto-detected | Start tag for changelog generation. |
| `new-tag` | no | auto-detected | End 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 ## Requirements
- The repository must be checked out with full history (`fetch-depth: 0`). - The repository must be checked out with full history (`fetch-depth: 0`).
- A `Chart.yaml` file must exist in the working directory. - A `Chart.yaml` file must exist at the path specified by `chart-path`.
- Commit messages must follow the [Conventional Commits](https://www.conventionalcommits.org/) format. - Commit messages must follow the [Conventional Commits](https://www.conventionalcommits.org/) format.
## Pre-releases
Tags matching the pattern `-rc` (e.g. `v4.53.3`, `v4.53.3`) are treated as pre-releases.
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 mapping
| Commit type | ArtifactHub kind | | Commit type | ArtifactHub kind |
+5 -1
View File
@@ -2,6 +2,10 @@ name: "ArtifactHub Annotations"
description: "Generate ArtifactHub changelog annotations from git commit history and add them to Chart.yaml" description: "Generate ArtifactHub changelog annotations from git commit history and add them to Chart.yaml"
inputs: inputs:
chart-path:
description: "Path to the Helm chart file"
default: "${{ github.workspace }}/Chart.yaml"
required: false
old-tag: old-tag:
description: "Start tag for changelog generation. If not set, auto-detected from git tags." description: "Start tag for changelog generation. If not set, auto-detected from git tags."
required: false required: false
@@ -49,7 +53,7 @@ runs:
- name: Add ArtifactHub annotations - name: Add ArtifactHub annotations
shell: bash shell: bash
env: env:
CHART_FILE: ${{ inputs.chart-path }}
INPUT_OLD_TAG: ${{ inputs.old-tag }} INPUT_OLD_TAG: ${{ inputs.old-tag }}
INPUT_NEW_TAG: ${{ inputs.new-tag }} INPUT_NEW_TAG: ${{ inputs.new-tag }}
run: "${GITHUB_ACTION_PATH}/add-annotations.sh" run: "${GITHUB_ACTION_PATH}/add-annotations.sh"
+1 -1
View File
@@ -6,7 +6,7 @@
set -euo pipefail set -euo pipefail
readonly CHART_FILE="Chart.yaml" readonly CHART_FILE="${CHART_FILE:="Chart.yaml"}"
readonly RC_PATTERN="\-rc([-\.][0-9]+)?$" readonly RC_PATTERN="\-rc([-\.][0-9]+)?$"
CHANGE_LOG_YAML="" CHANGE_LOG_YAML=""
+7 -7
View File
@@ -2,7 +2,7 @@
set -euo pipefail set -euo pipefail
internal_yq_version=v4.44.6 # renovate: datasource=github-releases depName=mikefarah/yq versioning=semver internal_yq_version=v4.53.3 # renovate: datasource=github-releases depName=mikefarah/yq versioning=semver
# Use :- for unset and handle empty strings from composite action inputs # Use :- for unset and handle empty strings from composite action inputs
YQ_BINARY_NAME="${YQ_BINARY_NAME:="yq"}" YQ_BINARY_NAME="${YQ_BINARY_NAME:="yq"}"
@@ -14,7 +14,7 @@ YQ_VERSION="${YQ_VERSION:="${internal_yq_version}"}"
case "${YQ_OS:-}" in case "${YQ_OS:-}" in
linux*) ;; linux*) ;;
darwin*) ;; darwin*) ;;
*) echo "Unsupported OS: $(uname -s)"; exit 1;; *) echo "ERROR: Unsupported OS: $(uname -s)"; exit 1;;
esac esac
@@ -22,7 +22,7 @@ esac
case "${YQ_ARCH:-}" in case "${YQ_ARCH:-}" in
amd64* | x86_64*) YQ_ARCH="amd64" ;; amd64* | x86_64*) YQ_ARCH="amd64" ;;
aarch64 | arm64*) YQ_ARCH="arm64" ;; aarch64 | arm64*) YQ_ARCH="arm64" ;;
*) echo "Unsupported architecture: $(uname -m)"; exit 1;; *) echo "ERROR: Unsupported architecture: $(uname -m)"; exit 1;;
esac esac
# Build download URL if not explicitly provided # Build download URL if not explicitly provided
@@ -41,7 +41,7 @@ fi
# Download and extract yq binary from .tar.gz # Download and extract yq binary from .tar.gz
if [[ "${YQ_DOWNLOAD_URL}" =~ \.tar\.gz$ ]]; then if [[ "${YQ_DOWNLOAD_URL}" =~ \.tar\.gz$ ]]; then
echo "Downloading and extracting yq from ${YQ_DOWNLOAD_URL}..." echo "INFO: Downloading and extracting yq from ${YQ_DOWNLOAD_URL}..."
tmp_dir="$(mktemp -d)" tmp_dir="$(mktemp -d)"
trap 'rm -rf "${tmp_dir}"' EXIT trap 'rm -rf "${tmp_dir}"' EXIT
@@ -61,7 +61,7 @@ if [[ "${YQ_DOWNLOAD_URL}" =~ \.tar\.gz$ ]]; then
# Download yq binary directly # Download yq binary directly
else else
echo "Downloading yq from ${YQ_DOWNLOAD_URL}..." echo "INFO: Downloading yq from ${YQ_DOWNLOAD_URL}..."
curl \ curl \
--fail \ --fail \
@@ -74,9 +74,9 @@ fi
chmod +x "${bin_path}" chmod +x "${bin_path}"
yq_installed_version="$("${bin_path}" --version)" yq_installed_version="$("${bin_path}" --version)"
echo "Installed ${yq_installed_version} in ${bin_path}" echo "INFO: Installed ${yq_installed_version} in ${bin_path}"
# Ensure yq is in PATH for subsequent steps # Ensure yq is in PATH for subsequent steps
if [[ -n "${GITHUB_PATH:-}" ]]; then if [[ -n "${GITHUB_PATH:-}" ]]; then
echo "$(dirname "${bin_path}")" >> "${GITHUB_PATH}" dirname "${bin_path}" >> "${GITHUB_PATH}"
fi fi
+14 -1
View File
@@ -13,7 +13,7 @@
"^README\\.md$" "^README\\.md$"
], ],
"matchStrings": [ "matchStrings": [
"uses: volker\\.raschek/ah-annotations@(?<currentValue>[^\\s\"']+)" "uses: volker\\.raschek\/ah-annotations@(?<currentValue>[^\\s\"']+)"
], ],
"depNameTemplate": "volker.raschek/ah-annotations", "depNameTemplate": "volker.raschek/ah-annotations",
"packageNameTemplate": "https://git.cryptic.systems/volker.raschek/ah-annotations", "packageNameTemplate": "https://git.cryptic.systems/volker.raschek/ah-annotations",
@@ -31,6 +31,18 @@
"depNameTemplate": "actions/checkout", "depNameTemplate": "actions/checkout",
"datasourceTemplate": "github-releases", "datasourceTemplate": "github-releases",
"versioningTemplate": "semver" "versioningTemplate": "semver"
},
{
"customType": "regex",
"fileMatch": [
"^README\\.md$"
],
"matchStrings": [
"`(?<currentValue>[^\\s\"']+)`"
],
"depNameTemplate": "mikefarah/yq",
"datasourceTemplate": "github-releases",
"versioningTemplate": "semver"
} }
], ],
"packageRules": [ "packageRules": [
@@ -41,6 +53,7 @@
], ],
"automerge": true, "automerge": true,
"matchDepNames": [ "matchDepNames": [
"actions/checkout",
"volker.raschek/ah-annotations" "volker.raschek/ah-annotations"
], ],
"matchUpdateTypes": [ "matchUpdateTypes": [