Compare commits
9
Commits
e0b71d8aa5
..
v0.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f99244b6ac | ||
|
|
f21649ef98
|
||
|
|
4124d2c0c5
|
||
|
|
394c453acc
|
||
|
|
99b0a4be64 | ||
|
|
8f1758ecbe
|
||
|
|
994de3ecec
|
||
|
|
1aaa54e066
|
||
|
|
27e819682f |
@@ -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}"
|
||||||
@@ -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,21 +5,21 @@ 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:
|
||||||
- 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.1.2
|
- uses: volker.raschek/ah-annotations@v0.2.0
|
||||||
```
|
```
|
||||||
|
|
||||||
### Explicit tags
|
### Explicit tags
|
||||||
@@ -31,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.1.2
|
- uses: volker.raschek/ah-annotations@v0.2.0
|
||||||
with:
|
with:
|
||||||
old-tag: v1.0.0
|
old-tag: v1.0.0
|
||||||
new-tag: v2.0.0
|
new-tag: v2.0.0
|
||||||
@@ -44,7 +44,7 @@ steps:
|
|||||||
| `chart-path` | no | `${{ github.workspace }}/Chart.yaml` | Path to the Helm chart file. |
|
| `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-version` | no | `v4.53.4` | Version of yq to install. |
|
||||||
| `yq-arch` | no | auto-detected | Architecture of yq binary to download. |
|
| `yq-arch` | no | auto-detected | Architecture of yq binary to download. |
|
||||||
| `yq-os` | no | auto-detected | Operating system 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-binary-name` | no | `yq` | Name of the yq binary to download. |
|
||||||
@@ -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.
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ inputs:
|
|||||||
yq-version:
|
yq-version:
|
||||||
description: "Version of yq to install"
|
description: "Version of yq to install"
|
||||||
required: false
|
required: false
|
||||||
default: "v4.44.6"
|
default: "v4.53.4" # renovate: datasource=github-releases depName=mikefarah/yq versioning=semver
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
|
|||||||
+4
-4
@@ -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
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
internal_yq_version=v4.53.3 # renovate: datasource=github-releases depName=mikefarah/yq versioning=semver
|
internal_yq_version=v4.53.4 # 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"}"
|
||||||
|
|||||||
Reference in New Issue
Block a user