name: "Build Helm Chart" on: push: branches: - main paths: - "Chart.yaml" pull_request: 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