3 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
4 changed files with 13 additions and 11 deletions
+3 -1
View File
@@ -51,7 +51,7 @@ jobs:
if: steps.check_change.outputs.changed == 'true' if: steps.check_change.outputs.changed == 'true'
id: bump id: bump
run: | run: |
latest_tag=${{ steps.get_tag.outputs.latest_tag }} latest_tag="${{ steps.get_tag.outputs.latest_tag }}"
IFS='.' read -r major minor patch <<< "${latest_tag#v}" IFS='.' read -r major minor patch <<< "${latest_tag#v}"
patch=$((patch + 1)) patch=$((patch + 1))
new_tag="v${major}.${minor}.${patch}" new_tag="v${major}.${minor}.${patch}"
@@ -64,5 +64,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
new_tag=${{ steps.bump.outputs.new_tag }} 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 tag -a "${new_tag}" -m "${new_tag}"
git push origin "${new_tag}" git push origin "${new_tag}"
+1 -1
View File
@@ -38,6 +38,6 @@ jobs:
YQ_ARCH: ${{ matrix.yq-arch }} YQ_ARCH: ${{ matrix.yq-arch }}
YQ_BINARY_NAME: ${{ inputs.yq-binary-name }} YQ_BINARY_NAME: ${{ inputs.yq-binary-name }}
YQ_DOWNLOAD_URL: ${{ inputs.yq-download-url }} YQ_DOWNLOAD_URL: ${{ inputs.yq-download-url }}
YQ_OS: ${{ matrix .yq-os }} YQ_OS: ${{ matrix.yq-os }}
YQ_VERSION: ${{ inputs.yq-version }} YQ_VERSION: ${{ inputs.yq-version }}
run: ./install-yq.sh run: ./install-yq.sh
+5 -5
View File
@@ -5,14 +5,14 @@ annotations](https://artifacthub.io/docs/topics/annotations/helm/#supported-anno
them to `Chart.yaml`. 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:
@@ -58,8 +58,8 @@ steps:
## Pre-releases ## Pre-releases
Tags matching the pattern `-rc` (e.g. `v1.0.0-rc.1`, `v2.0.0-rc`) are treated as pre-releases. Tags containing a hyphen-separated pre-release identifier according to [SemVer 2.0](https://semver.org/) are treated as
When `new-tag` is a pre-release tag, the action: 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`. 1. Sets `artifacthub.io/prerelease: "true"` in `Chart.yaml`.
2. Skips changelog generation entirely. 2. Skips changelog generation entirely.
+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