Compare commits
9
Commits
176681ebe5
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f35de4a3c3 | ||
|
|
bcb0da1b60
|
||
|
|
2c7eeb30cf | ||
|
|
761fcfbb26
|
||
|
|
53d751a15d | ||
|
|
f1dee996e3
|
||
|
|
db3cdb4828
|
||
|
|
2aafefadbc | ||
|
|
9c214fc134
|
@@ -18,7 +18,7 @@ jobs:
|
|||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ jobs:
|
|||||||
# yq-arch: "arm64"
|
# yq-arch: "arm64"
|
||||||
# yq-os: "darwin"
|
# yq-os: "darwin"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Install yq
|
- name: Install yq
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -13,14 +13,14 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
markdown-link-checker:
|
markdown-link-checker:
|
||||||
container:
|
container:
|
||||||
image: docker.io/library/node:26.8.1-alpine
|
image: docker.io/library/node:26.10.0-alpine
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Install tooling
|
- name: Install tooling
|
||||||
run: |
|
run: |
|
||||||
apk update
|
apk update
|
||||||
apk add git npm
|
apk add git npm
|
||||||
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Verify links in markdown files
|
- name: Verify links in markdown files
|
||||||
run: |
|
run: |
|
||||||
npm install
|
npm install
|
||||||
@@ -28,14 +28,14 @@ jobs:
|
|||||||
|
|
||||||
markdown-lint:
|
markdown-lint:
|
||||||
container:
|
container:
|
||||||
image: docker.io/library/node:26.8.1-alpine
|
image: docker.io/library/node:26.10.0-alpine
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Install tooling
|
- name: Install tooling
|
||||||
run: |
|
run: |
|
||||||
apk update
|
apk update
|
||||||
apk add git
|
apk add git
|
||||||
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
- name: Lint markdown files
|
- name: Lint markdown files
|
||||||
run: |
|
run: |
|
||||||
npm install
|
npm install
|
||||||
|
|||||||
@@ -6,20 +6,21 @@ 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 according to [SemVer 2.0](https://semver.org/) (e.g. `-alpha`, `-beta.1`, `-rc.2`) are detected
|
Pre-release tags according to [SemVer 2.0](https://semver.org/) (e.g. `-alpha`, `-beta.1`, `-rc.2`) are detected
|
||||||
automatically and result in an `artifacthub.io/prerelease` annotation instead.
|
automatically and additionally result in an `artifacthub.io/prerelease` annotation.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Auto-detect tags
|
### Auto-detect tags
|
||||||
|
|
||||||
Without explicit inputs the action determines the two most recent stable (non-pre-release) tags from the Git history:
|
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:
|
||||||
|
|
||||||
```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.2.2
|
- uses: volker.raschek/ah-annotations@v0.2.3
|
||||||
```
|
```
|
||||||
|
|
||||||
### Explicit tags
|
### Explicit tags
|
||||||
@@ -31,7 +32,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.2.2
|
- uses: volker.raschek/ah-annotations@v0.2.3
|
||||||
with:
|
with:
|
||||||
old-tag: v1.0.0
|
old-tag: v1.0.0
|
||||||
new-tag: v2.0.0
|
new-tag: v2.0.0
|
||||||
@@ -59,13 +60,11 @@ steps:
|
|||||||
## Pre-releases
|
## Pre-releases
|
||||||
|
|
||||||
Tags containing a hyphen-separated pre-release identifier according to [SemVer 2.0](https://semver.org/) are treated as
|
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:
|
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.
|
||||||
|
|
||||||
1. Sets `artifacthub.io/prerelease: "true"` in `Chart.yaml`.
|
When auto-detecting tags (no explicit `old-tag`/`new-tag`), the end tag is the tag of the checked out commit - including
|
||||||
2. Skips changelog generation entirely.
|
pre-releases - while the start tag is always the most recent stable tag.
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -23,8 +23,9 @@ if [[ ! -f "${CHART_FILE}" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Determine old and new tags
|
# Determine old and new tags. The new tag is the currently checked out one - including prereleases - so that
|
||||||
DEFAULT_NEW_TAG="$(git tag --sort=-version:refname | grep --invert-match --perl-regexp "${PRERELEASE_PATTERN}" | head --lines 1)"
|
# 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)"
|
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
|
||||||
@@ -50,9 +51,7 @@ if [[ -z "$(git tag --list "${NEW_TAG}")" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${NEW_TAG}" =~ ${PRERELEASE_PATTERN} ]]; then
|
if [[ "${NEW_TAG}" =~ ${PRERELEASE_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}"
|
yq --no-colors --inplace ".annotations.\"artifacthub.io/prerelease\" = \"true\" | sort_keys(.)" "${CHART_FILE}"
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CHANGE_LOG_YAML="$(mktemp)"
|
CHANGE_LOG_YAML="$(mktemp)"
|
||||||
|
|||||||
Reference in New Issue
Block a user