1 Commits
Author SHA1 Message Date
CSRBot f7956baf87 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-amd64, amd64, linux) (pull_request) Successful in 5s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (pull_request) Successful in 11s
Markdown linter / markdown-lint (pull_request) Successful in 32s
Markdown linter / markdown-link-checker (push) Successful in 20s
Install yq / install-yq (ubuntu-latest-arm64, arm64, linux) (push) Successful in 10s
Markdown linter / markdown-lint (push) Successful in 12s
Markdown linter / markdown-link-checker (pull_request) Successful in 18s
2026-08-17 15:34:41 +00:00
7 changed files with 30 additions and 30 deletions
+2 -4
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
@@ -51,7 +51,7 @@ jobs:
if: steps.check_change.outputs.changed == 'true'
id: bump
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}"
patch=$((patch + 1))
new_tag="v${major}.${minor}.${patch}"
@@ -64,7 +64,5 @@ jobs:
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}"
+2 -2
View File
@@ -31,13 +31,13 @@ jobs:
# yq-arch: "arm64"
# yq-os: "darwin"
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install yq
shell: bash
env:
YQ_ARCH: ${{ matrix.yq-arch }}
YQ_BINARY_NAME: ${{ inputs.yq-binary-name }}
YQ_DOWNLOAD_URL: ${{ inputs.yq-download-url }}
YQ_OS: ${{ matrix.yq-os }}
YQ_OS: ${{ matrix .yq-os }}
YQ_VERSION: ${{ inputs.yq-version }}
run: ./install-yq.sh
+4 -4
View File
@@ -13,14 +13,14 @@ on:
jobs:
markdown-link-checker:
container:
image: docker.io/library/node:26.10.0-alpine
image: docker.io/library/node:26.7.0-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git npm
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- name: Verify links in markdown files
run: |
npm install
@@ -28,14 +28,14 @@ jobs:
markdown-lint:
container:
image: docker.io/library/node:26.10.0-alpine
image: docker.io/library/node:26.7.0-alpine
runs-on: ubuntu-latest
steps:
- name: Install tooling
run: |
apk update
apk add git
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
- name: Lint markdown files
run: |
npm install
+13 -12
View File
@@ -5,22 +5,21 @@ annotations](https://artifacthub.io/docs/topics/annotations/helm/#supported-anno
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](https://semver.org/) (e.g. `-alpha`, `-beta.1`, `-rc.2`) are detected
automatically and additionally result in an `artifacthub.io/prerelease` annotation.
Pre-release tags (matching `-rc`) are detected automatically and result in an `artifacthub.io/prerelease` annotation
instead.
## Usage
### Auto-detect tags
Without explicit inputs the action uses the currently checked out tag as end tag and the most recent stable
(non-pre-release) tag as start tag:
Without explicit inputs the action determines the two most recent non-RC tags from the Git history:
```yaml
steps:
- uses: actions/checkout@v7.0.1
with:
fetch-depth: 0
- uses: volker.raschek/ah-annotations@v0.2.3
- uses: volker.raschek/ah-annotations@v0.1.2
```
### Explicit tags
@@ -32,7 +31,7 @@ steps:
- uses: actions/checkout@v7.0.1
with:
fetch-depth: 0
- uses: volker.raschek/ah-annotations@v0.2.3
- uses: volker.raschek/ah-annotations@v0.1.2
with:
old-tag: v1.0.0
new-tag: v2.0.0
@@ -45,7 +44,7 @@ steps:
| `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.6` | Version of yq to install. |
| `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. |
@@ -59,12 +58,14 @@ steps:
## 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 sets
`artifacthub.io/prerelease: "true"` in `Chart.yaml` in addition to the generated changelog.
Tags matching the pattern `-rc` (e.g. `v1.0.0-rc.1`, `v2.0.0-rc`) are treated as pre-releases.
When `new-tag` is a pre-release tag, the action:
When auto-detecting tags (no explicit `old-tag`/`new-tag`), the end tag is the tag of the checked out commit - including
pre-releases - while the start tag is always the most recent stable tag.
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
+1 -1
View File
@@ -35,7 +35,7 @@ inputs:
yq-version:
description: "Version of yq to install"
required: false
default: "v4.53.6" # renovate: datasource=github-releases depName=mikefarah/yq versioning=semver
default: "v4.44.6"
runs:
using: "composite"
+7 -6
View File
@@ -7,7 +7,7 @@
set -euo pipefail
readonly CHART_FILE="${CHART_FILE:="Chart.yaml"}"
readonly PRERELEASE_PATTERN="\-[a-zA-Z0-9]+([-\.][a-zA-Z0-9]+)*$"
readonly RC_PATTERN="\-rc([-\.][0-9]+)?$"
CHANGE_LOG_YAML=""
@@ -23,10 +23,9 @@ if [[ ! -f "${CHART_FILE}" ]]; then
exit 1
fi
# Determine old and new tags. The new tag is the currently checked out one - including prereleases - so that
# prereleases are detected. Only the old tag is restricted to stable releases.
DEFAULT_NEW_TAG="$(git describe --tags --exact-match HEAD 2>/dev/null || git tag --sort=-version:refname | head --lines 1)"
DEFAULT_OLD_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${PRERELEASE_PATTERN}" | head --lines 2 | tail --lines 1)"
# Determine old and new tags
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${RC_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)"
if [[ -n "${INPUT_OLD_TAG:-}" ]]; then
OLD_TAG="${INPUT_OLD_TAG}"
@@ -50,8 +49,10 @@ if [[ -z "$(git tag --list "${NEW_TAG}")" ]]; then
exit 1
fi
if [[ "${NEW_TAG}" =~ ${PRERELEASE_PATTERN} ]]; then
if [[ "${NEW_TAG}" =~ ${RC_PATTERN} ]]; then
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}"
exit 0
fi
CHANGE_LOG_YAML="$(mktemp)"
+1 -1
View File
@@ -2,7 +2,7 @@
set -euo pipefail
internal_yq_version=v4.53.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
YQ_BINARY_NAME="${YQ_BINARY_NAME:="yq"}"