Skip to content

Helm Chart Release #268

Helm Chart Release

Helm Chart Release #268

name: Helm Chart Release
on:
workflow_dispatch:
inputs:
version: # Effectively, the version of Lunar Gateway's Docker image tag
description: "Version to deploy"
required: true
type: string
chart-version: # Effectively, the version of the Helm chart. Overrides can be made for fixes in the chart with the suffix `-fix<number>`
description: "Chart version to package (optional, defaults to 'version')"
required: false
type: string
jobs:
helm-chart:
permissions:
contents: write
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure Git
run: |
git config user.name "DevOps"
git config user.email "[email protected]"
- name: Install Helm
uses: azure/setup-helm@v3
- name: Filter out pre-release versions
run: |
if [[ "${{ inputs.version }}" == *-* ]]; then
echo "Suffix detected in version: ${{ inputs.version }}."
if [[ ! "${{ inputs.version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+-fix[0-9]*$ ]]; then
echo "Filtering out chart version: ${{ inputs.version }}."
exit 0
else
echo "Fix version detected: ${{ inputs.version }}."
fi
else
echo "Stable version detected: ${{ inputs.version }}."
fi
- name: Set Chart Version
id: set-chart-version
run: |
if [ -z "${{ inputs.chart-version }}" ]; then
echo "Using version input as chart-version."
echo "chart_version=${{ inputs.version }}" >> $GITHUB_ENV
else
echo "Using provided chart-version input."
echo "chart_version=${{ inputs.chart-version }}" >> $GITHUB_ENV
fi
- name: Package
run: |
rm -rf .cr-release-packages
mkdir -p .cr-release-packages
helm package "charts/lunar-proxy" --version v${{ env.chart_version }} --app-version v${{ inputs.version }} --destination=.cr-release-packages
- name: Run chart-releaser
uses: helm/[email protected]
with:
skip_packaging: true
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"