Helm Chart Release #265
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }}" |