Skip to content

Merge pull request #1306 from stevehipwell/release-chart-v3-11-0 #12

Merge pull request #1306 from stevehipwell/release-chart-v3-11-0

Merge pull request #1306 from stevehipwell/release-chart-v3-11-0 #12

name: Release Chart
on:
push:
branches:
- release-*
paths:
- "charts/metrics-server/Chart.yaml"
jobs:
release:
name: Release
if: github.repository == 'kubernetes-sigs/metrics-server'
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c #v3.3.0
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Get chart version
id: chart_version
uses: mikefarah/yq@87cba2ecbeaecf860efcceb66deab46ae030ce1e # v4.30.6
with:
cmd: yq eval '.version' './charts/metrics-server/Chart.yaml'
- name: Get chart app version
id: chart_app_version
uses: mikefarah/yq@87cba2ecbeaecf860efcceb66deab46ae030ce1e # v4.30.6
with:
cmd: yq eval '.appVersion' './charts/metrics-server/Chart.yaml'
- name: Check can release
id: check_can_release
run: |
set -euo pipefail
branch_name="${GITHUB_REF##*/}"
app_version_prefix="${branch_name##*-}"
app_version_regex="^${app_version_prefix//./\.}"
chart_version_match="$(echo "${{ steps.chart_version.outputs.result }}" | grep -Po "^\d+\.\d+\.\d+$" || true)"
app_version_match="$(echo "${{ steps.chart_app_version.outputs.result }}" | grep -Po "^${app_version_prefix//./\.}" || true)"
if [[ -z "${chart_version_match}" ]] || [[ -z "${app_version_match}" ]]
then
echo "continue=${{ toJSON(false) }}" >> $GITHUB_OUTPUT
else
echo "continue=${{ toJSON(true) }}" >> $GITHUB_OUTPUT
fi
- name: Set-up Helm
if: fromJSON(steps.check_can_release.outputs.continue)
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
- name: Run chart-releaser
if: fromJSON(steps.check_can_release.outputs.continue)
uses: helm/chart-releaser-action@be16258da8010256c6e82849661221415f031968 # v1.5.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
CR_RELEASE_NAME_TEMPLATE: "metrics-server-helm-chart-{{ .Version }}"
CR_MAKE_RELEASE_LATEST: false