Skip to content

Release Helm Chart

Release Helm Chart #5

Workflow file for this run

name: Release Helm Chart
on:
workflow_dispatch:
jobs:
helm-release:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
- name: Get release version
id: release-version
run: |
echo "tag=v$(yq .version charts/cryostat/Chart.yaml)" >> $GITHUB_OUTPUT
- name: Get previous version
id: previous-version
run: |
# Filter tags by regex, combine with the Chart version, sort by version number, and output the preceeding version.
chart_version="${{ steps.release-version.outputs.tag }}"
previous_version="$({ echo v${chart_version}; git tag -l | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$'; } | sort -V | grep -B1 "${chart_version}" | head -n1)"
echo "tag=${previous_version}" >> $GITHUB_OUTPUT
- name: Generate release notes
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
gh api --method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${GITHUB_REPOSITORY}/releases/generate-notes \
-f tag_name="${{ steps.release-version.outputs.tag }}" \
-f target_commitish="${GITHUB_REF_NAME}" \
-f previous_tag_name="${{ steps.previous-version.outputs.tag }}" | jq -r .body > charts/cryostat/release-notes.md
- name: Run chart-releaser
uses: helm/[email protected]
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
charts_dir: charts
config: .github/helm-release-config.yml
update-helm-repo:
uses: ./.github/workflows/submodule.yml
needs: helm-release
if: github.repository_owner == 'cryostatio'
secrets:
SUBMODULE_TOKEN: ${{ secrets.SUBMODULE_TOKEN }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}