39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
name: "Build Helm Chart"
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "Chart.yaml"
|
|
jobs:
|
|
helm-package:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set Helm Chart App Name and Version
|
|
id: get_version
|
|
run: |
|
|
APP_NAME=$(grep -oP '(?<=^name: ).*' Chart.yaml)
|
|
echo "Helm Chart App Name: $APP_NAME"
|
|
echo "::set-output name=app::$APP_NAME"
|
|
|
|
CHART_VERSION=$(grep -oP '(?<=^version: ).*' Chart.yaml)
|
|
echo "Helm Chart version: $CHART_VERSION"
|
|
echo "::set-output name=tag::$CHART_VERSION"
|
|
|
|
- name: Setup Helm
|
|
run: |
|
|
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
|
helm version
|
|
|
|
- name: Package Helm Chart
|
|
run: |
|
|
helm lint .
|
|
helm package .
|
|
|
|
- name: Upload Helm Package to repo
|
|
run: |
|
|
curl --user ${{ secrets.USER }}:${{ secrets.TOKEN }} -X POST --upload-file ./${{ steps.get_version.outputs.app }}-${{ steps.get_version.outputs.tag }}.tgz ${{ vars.HELMREGISTRY }}/api/packages/${{ vars.OWNER }}/helm/api/charts
|