mirror of
https://github.com/henrygd/beszel.git
synced 2026-08-18 00:07:47 +02:00
helm: update version to latest and automate chart app version bumps
- Keep chart documentation aligned with the application version - Update app versions automatically after application releases - Restore the main application release as latest after chart publishing
This commit is contained in:
11
.github/workflows/release-please.yml
vendored
11
.github/workflows/release-please.yml
vendored
@@ -139,3 +139,14 @@ jobs:
|
||||
# Generate index.yaml for GitHub Pages
|
||||
args=(-o "$owner" -r "$repo" --push -t "${{ secrets.CR_TOKEN }}" --index-path docs/index.yaml --release-name-template '{{ .Name }}-v{{ .Version }}')
|
||||
.tmp/cr index "${args[@]}"
|
||||
|
||||
- name: Restore application release as latest
|
||||
if: ${{ always() }}
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
release_id=$(gh api "repos/${GITHUB_REPOSITORY}/releases?per_page=100" \
|
||||
--jq 'map(select(.draft == false and .prerelease == false and (.tag_name | test("^v[0-9]"))))[0].id')
|
||||
test -n "$release_id"
|
||||
gh api --method PATCH "repos/${GITHUB_REPOSITORY}/releases/${release_id}" \
|
||||
-f make_latest=true
|
||||
|
||||
48
.github/workflows/release.yml
vendored
48
.github/workflows/release.yml
vendored
@@ -52,3 +52,51 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.TOKEN || secrets.GITHUB_TOKEN }}
|
||||
WINGET_TOKEN: ${{ secrets.WINGET_TOKEN }}
|
||||
IS_FORK: ${{ github.repository_owner != 'henrygd' }}
|
||||
|
||||
update-helm-app-version:
|
||||
name: Update Helm app version
|
||||
needs: goreleaser
|
||||
if: ${{ github.repository_owner == 'henrygd' }}
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout main
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
ref: main
|
||||
token: ${{ secrets.CR_TOKEN }}
|
||||
|
||||
- name: Update chart app versions
|
||||
env:
|
||||
RELEASE_TAG: ${{ github.ref_name }}
|
||||
run: |
|
||||
version="${RELEASE_TAG#v}"
|
||||
if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+([-.][0-9A-Za-z.-]+)?$ ]]; then
|
||||
echo "Invalid release version: $version" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for chart in supplemental/helm/beszel-agent supplemental/helm/beszel-hub; do
|
||||
current_version=$(awk -F '"' '/^appVersion:/ { print $2 }' "$chart/Chart.yaml")
|
||||
NEW_VERSION="$version" perl -pi -e 's/^appVersion:.*$/appVersion: "$ENV{NEW_VERSION}"/' "$chart/Chart.yaml"
|
||||
OLD_VERSION="$current_version" NEW_VERSION="$version" \
|
||||
perl -pi -e 's/\Q$ENV{OLD_VERSION}\E/$ENV{NEW_VERSION}/g' "$chart/README.md"
|
||||
done
|
||||
|
||||
- name: Commit app version update
|
||||
env:
|
||||
RELEASE_TAG: ${{ github.ref_name }}
|
||||
run: |
|
||||
if git diff --quiet -- supplemental/helm; then
|
||||
echo "Helm charts already use ${RELEASE_TAG#v}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add supplemental/helm/beszel-agent/Chart.yaml \
|
||||
supplemental/helm/beszel-agent/README.md \
|
||||
supplemental/helm/beszel-hub/Chart.yaml \
|
||||
supplemental/helm/beszel-hub/README.md
|
||||
git commit -m "fix(helm): update app version to ${RELEASE_TAG#v}"
|
||||
git push origin HEAD:main
|
||||
|
||||
Reference in New Issue
Block a user