14 Commits
Author SHA1 Message Date
volker.raschekandCopilot 994de3ecec feat: support all SemVer 2.0 pre-release identifiers
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
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
volker.raschekandCopilot 1aaa54e066 fix(ci): correct syntax errors in Gitea workflows
Quote shell variable assignment in auto-release to prevent word splitting
and fix whitespace typo in matrix reference (`matrix .yq-os` → `matrix.yq-os`)
in install-yq workflow.

Co-authored-by: Copilot <copilot@github.com>
2026-08-17 22:14:28 +02:00
CSRBot 27e819682f Merge pull request 'chore(deps): update dependency mikefarah/yq to v4.53.3' (#6) from renovate/mikefarah-yq-4.x into master
Auto release tagged / tag_on_change (push) Failing after 20s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 12s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 6s
Markdown linter / markdown-lint (push) Successful in 15s
Markdown linter / markdown-link-checker (push) Successful in 37s
2026-08-17 15:42:51 +00:00
CSRBot e0b71d8aa5 chore(deps): update dependency mikefarah/yq to v4.53.3
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 19s
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (pull_request) Successful in 6s
Markdown linter / markdown-lint (push) Successful in 32s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 11s
Markdown linter / markdown-link-checker (pull_request) Successful in 19s
Markdown linter / markdown-lint (pull_request) Successful in 27s
2026-08-17 15:40:44 +00:00
CSRBot b2935585a4 Merge pull request 'chore(deps): update actions/checkout action to v6.1.0' (#11) from renovate/actions-checkout-6.x into master
Markdown linter / markdown-link-checker (push) Successful in 19s
Markdown linter / markdown-lint (push) Successful in 12s
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
2026-08-17 15:35:49 +00:00
CSRBot 5ae2226870 chore(deps): update actions/checkout action to v6.1.0
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
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (pull_request) Successful in 5s
Markdown linter / markdown-link-checker (push) Successful in 19s
Markdown linter / markdown-lint (push) Successful in 30s
Markdown linter / markdown-link-checker (pull_request) Successful in 21s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 10s
Markdown linter / markdown-lint (pull_request) Successful in 29s
2026-08-17 15:34:15 +00:00
volker.raschek 7cdb450303 fix(ci): add auto-release workflow
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 18s
Markdown linter / markdown-lint (push) Successful in 30s
2026-08-17 17:32:35 +02:00
volker.raschek d08d955819 fix(renovate): adapt customManager
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 15s
Markdown linter / markdown-link-checker (push) Successful in 21s
Markdown linter / markdown-lint (push) Successful in 35s
2026-08-17 17:20:44 +02:00
volker.raschek e37c1f1fcc fix(renovate): adapt customManager
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 12s
Markdown linter / markdown-link-checker (push) Successful in 22s
Markdown linter / markdown-lint (push) Successful in 33s
2026-08-17 17:08:03 +02:00
CSRBot 82444f39b6 Merge pull request 'chore(deps): update dependency volker.raschek/ah-annotations to v0.1.2' (#8) from renovate/volker.raschek-ah-annotations-0.x into master
Install yq / install-yq (ubuntu-latest-amd64, amd64, linux) (push) Successful in 8s
Markdown linter / markdown-link-checker (push) Successful in 31s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 11s
Markdown linter / markdown-lint (push) Successful in 16s
2026-08-16 21:03:16 +00:00
CSRBot eeb09fdeb4 chore(deps): update dependency volker.raschek/ah-annotations to v0.1.2
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 8s
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 (pull_request) Successful in 26s
Markdown linter / markdown-lint (pull_request) Successful in 32s
Markdown linter / markdown-link-checker (push) Successful in 26s
Markdown linter / markdown-lint (push) Successful in 31s
2026-08-16 21:02:07 +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
5 changed files with 108 additions and 12 deletions
+70
View File
@@ -0,0 +1,70 @@
name: Auto release tagged
on:
push:
branches: [ "master" ]
paths:
- install-yq.sh
env:
GIT_EMAIL: noreply@cryptic.systems
GIT_USER: CSRBot
jobs:
tag_on_change:
permissions:
actions: write
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
with:
fetch-depth: 0
- name: Check if DC_VERSION line changed
id: check_change
run: |
echo "changed=false" >> $GITHUB_OUTPUT
for file in install-yq.sh; do
if git diff HEAD~1 HEAD -- "${file}" | grep --quiet '^[+-]internal_yq_version'; then
echo "internal_yq_version line changed."
echo "changed=true" >> $GITHUB_OUTPUT
break
fi
done
- name: Stop if no change detected
if: steps.check_change.outputs.changed == 'false'
run: echo "No internal_yq_version change. Exiting..."
- name: Get latest tag
if: steps.check_change.outputs.changed == 'true'
id: get_tag
run: |
latest_tag=$(git tag --sort=-v:refname | grep --extended-regexp '^v[0-9]+\.[0-9]+\.[0-9]+$' | head --lines 1 || echo "v0.0.0")
echo "latest_tag=$latest_tag" >> $GITHUB_OUTPUT
echo "Latest tag: $latest_tag"
- name: Increment patch version
if: steps.check_change.outputs.changed == 'true'
id: bump
run: |
latest_tag="${{ steps.get_tag.outputs.latest_tag }}"
IFS='.' read -r major minor patch <<< "${latest_tag#v}"
patch=$((patch + 1))
new_tag="v${major}.${minor}.${patch}"
echo "new_tag=$new_tag" >> $GITHUB_OUTPUT
echo "New tag: $new_tag"
- name: Create and push new tag
if: steps.check_change.outputs.changed == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
new_tag=${{ steps.bump.outputs.new_tag }}
git config --local user.name "${GIT_USER}"
git config --local user.email "${GIT_EMAIL}"
git tag -a "${new_tag}" -m "${new_tag}"
git push origin "${new_tag}"
+19 -6
View File
@@ -1,23 +1,25 @@
# 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 according to [SemVer 2.0](https://semver.org/) (e.g. `-alpha`, `-beta.1`, `-rc.2`) are detected
instead. automatically and result in an `artifacthub.io/prerelease` annotation instead.
## Usage ## Usage
### Auto-detect tags ### Auto-detect tags
Without explicit inputs the action determines the two most recent non-RC tags from the Git history: Without explicit inputs the action determines the two most recent stable (non-pre-release) tags from the Git history:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v7.0.1 - uses: actions/checkout@v7.0.1
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: volker.raschek/ah-annotations@v0.0.1 - uses: volker.raschek/ah-annotations@v0.1.2
``` ```
### Explicit tags ### Explicit tags
@@ -29,7 +31,7 @@ steps:
- uses: actions/checkout@v7.0.1 - uses: actions/checkout@v7.0.1
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: volker.raschek/ah-annotations@v0.0.1 - uses: volker.raschek/ah-annotations@v0.1.2
with: with:
old-tag: v1.0.0 old-tag: v1.0.0
new-tag: v2.0.0 new-tag: v2.0.0
@@ -54,6 +56,17 @@ steps:
- A `Chart.yaml` file must exist at the path specified by `chart-path`. - 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 containing a hyphen-separated pre-release identifier according to [SemVer 2.0](https://semver.org/) 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 mapping
| Commit type | ArtifactHub kind | | Commit type | ArtifactHub kind |
+4 -4
View File
@@ -7,7 +7,7 @@
set -euo pipefail set -euo pipefail
readonly CHART_FILE="${CHART_FILE:="Chart.yaml"}" readonly CHART_FILE="${CHART_FILE:="Chart.yaml"}"
readonly RC_PATTERN="\-rc([-\.][0-9]+)?$" readonly PRERELEASE_PATTERN="\-[a-zA-Z0-9]+([-\.][a-zA-Z0-9]+)*$"
CHANGE_LOG_YAML="" CHANGE_LOG_YAML=""
@@ -24,8 +24,8 @@ if [[ ! -f "${CHART_FILE}" ]]; then
fi fi
# Determine old and new tags # Determine old and new tags
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${RC_PATTERN}" | head --lines 1)" DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${PRERELEASE_PATTERN}" | head --lines 1)"
DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${RC_PATTERN}" | head --lines 2 | tail --lines 1)" DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${PRERELEASE_PATTERN}" | head --lines 2 | tail --lines 1)"
if [[ -n "${INPUT_OLD_TAG:-}" ]]; then if [[ -n "${INPUT_OLD_TAG:-}" ]]; then
OLD_TAG="${INPUT_OLD_TAG}" OLD_TAG="${INPUT_OLD_TAG}"
@@ -49,7 +49,7 @@ if [[ -z "$(git tag --list "${NEW_TAG}")" ]]; then
exit 1 exit 1
fi fi
if [[ "${NEW_TAG}" =~ ${RC_PATTERN} ]]; then if [[ "${NEW_TAG}" =~ ${PRERELEASE_PATTERN} ]]; then
echo "INFO: Tag '${NEW_TAG}' is a prerelease, setting prerelease annotation and skipping changelog." echo "INFO: Tag '${NEW_TAG}' is a prerelease, setting prerelease annotation and skipping changelog."
yq --no-colors --inplace ".annotations.\"artifacthub.io/prerelease\" = \"true\" | sort_keys(.)" "${CHART_FILE}" yq --no-colors --inplace ".annotations.\"artifacthub.io/prerelease\" = \"true\" | sort_keys(.)" "${CHART_FILE}"
exit 0 exit 0
+14 -1
View File
@@ -38,7 +38,7 @@
"^README\\.md$" "^README\\.md$"
], ],
"matchStrings": [ "matchStrings": [
"`(?<currentValue>[^\\s\"']+)`" "yq-version.[ \\t]+\\|[ \\t]+no[ \\t]+\\|[ \\t]+.(?<currentValue>v[\\d]+\\.[\\d]+\\.[\\d]+)"
], ],
"depNameTemplate": "mikefarah/yq", "depNameTemplate": "mikefarah/yq",
"datasourceTemplate": "github-releases", "datasourceTemplate": "github-releases",
@@ -46,6 +46,19 @@
} }
], ],
"packageRules": [ "packageRules": [
{
"addLabels": [
"renovate/automerge"
],
"automerge": true,
"matchDepNames": [
"mikefarah/yq"
],
"matchUpdateTypes": [
"minor",
"patch"
]
},
{ {
"addLabels": [ "addLabels": [
"renovate/automerge", "renovate/automerge",