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

48 lines
1.7 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
- name: Install yq
uses: chrisdickinson/setup-yq@latest
- name: Publishing helm
shell: bash
env:
HELM_RESULT_FILE: ${{ inputs.chart_directory }}/result
run: |
yq --help
echo '!!!!!'
#cat '${{ inputs.chart_directory }}/Chart.yaml'
CHART_NAME=`yq r "${{ inputs.chart_directory }}/Chart.yaml" 'name'`
RESULT_FILE="${HELM_RESULT_FILE}/$CHART_NAME-${{ inputs.helm_version }}.tgz"
echo "Result File: ${RESULT_FILE}"
ls "${RESULT_FILE}"
echo '!!!!!!'
echo "File: @${RESULT_FILE} to ${{ vars.HELM_REPOSITORY }}/api/charts?force"
curl "${{ vars.HELM_REPOSITORY }}/api/charts?force" -d "@${RESULT_FILE}" -v