devops/helm-publish/action.yml
2025-05-20 05:02:43 +03:00

41 lines
1.4 KiB
YAML

name: "Helm Publishing"
description: "Package helm and publish to repository"
inputs:
chart_directory:
description: "Charts directory"
required: true
helm_version:
description: "New Helm Chart version"
required: true
helm_version_placeholder:
description: "Version Placeholder value in Chart.yaml"
required: false
default: "%VERSION%"
runs:
using: "composite"
steps:
- name: "Install Helm"
uses: azure/setup-helm@v3
- name: Update Helm version
shell: bash
run: |
sed -i -e 's/${{ inputs.helm_version_placeholder }}/${{ inputs.helm_version }}/g' ${{ inputs.chart_directory }}/Chart.yaml
echo 'Result Helm Chart:'
cat ${{ inputs.chart_directory }}/Chart.yaml
- name: Package helm
shell: bash
run: |
helm package ${{ inputs.chart_directory }} --app-version ${{ inputs.helm_version }} --version ${{ inputs.helm_version }} --dependency-update --destination ${{ inputs.chart_directory }}/result.tgz
- name: Publishing helm
shell: bash
env:
HELM_FILE: ${{ inputs.chart_directory }}/result.tgz
run: |
echo 'Files in ${{ inputs.chart_directory }}:'
ls ${{ inputs.chart_directory }} -l
ls ${HELM_FILE}
echo "File: @${HELM_FILE} to ${{ vars.HELM_REPOSITORY }}/api/charts?force"
curl "${{ vars.HELM_REPOSITORY }}/api/charts?force" -d "@${HELM_FILE}" -v