From a8c19073a32ab2053973cb15c83461e58e18e9e3 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Tue, 19 May 2026 18:26:42 +0200 Subject: [PATCH] Remove helm binary dependency from helm-package-push Replace 'helm package' with sed on Chart.yaml + tar czf. No external tool needed beyond coreutils (sed, tar, curl). --- helm-package-push/action.yml | 50 ++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/helm-package-push/action.yml b/helm-package-push/action.yml index 1091fe0..cf839e6 100644 --- a/helm-package-push/action.yml +++ b/helm-package-push/action.yml @@ -21,50 +21,44 @@ inputs: runs: using: composite steps: - - name: Install Helm - shell: bash - run: | - curl -fsSL https://get.helm.sh/helm-v3.14.4-linux-amd64.tar.gz \ - | tar xz -C /tmp - mv /tmp/linux-amd64/helm /usr/local/bin/helm - helm version --short - - name: Inject image tag into chart values shell: bash run: | + CHART_PATH=${{ inputs.chart-path }} sed -i "s|^\(\s*tag:\).*|\1 ${{ inputs.app-version }}|" \ - ${{ inputs.chart-path }}/values.yaml + "$CHART_PATH/values.yaml" - - name: Package helm chart (SHA) + - name: Package and push helm chart (SHA) shell: bash run: | - helm package ${{ inputs.chart-path }} \ - --version "${{ inputs.version }}" \ - --app-version "${{ inputs.app-version }}" + CHART_PATH=${{ inputs.chart-path }} + CHART_NAME=$(basename "$CHART_PATH") + VERSION=${{ inputs.version }} + APP_VERSION=${{ inputs.app-version }} + + sed -i "s/^version:.*/version: $VERSION/" "$CHART_PATH/Chart.yaml" + sed -i "s/^appVersion:.*/appVersion: \"$APP_VERSION\"/" "$CHART_PATH/Chart.yaml" + + tar czf "${CHART_NAME}-${VERSION}.tgz" -C "$CHART_PATH" . - - name: Push helm chart (SHA) to Gitea - shell: bash - run: | - CHART_NAME=$(basename ${{ inputs.chart-path }}) curl -u ${{ inputs.username }}:${{ inputs.password }} \ -X POST \ https://git.sebse.de/api/packages/sebse/helm/api/charts \ - -F "chart=@${CHART_NAME}-${{ inputs.version }}.tgz" \ + -F "chart=@${CHART_NAME}-${VERSION}.tgz" \ --fail-with-body - - name: Package helm chart (latest) + - name: Package and push helm chart (latest) shell: bash run: | - sed -i "s|^\(\s*tag:\).*|\1 ${{ inputs.app-version }}|" \ - ${{ inputs.chart-path }}/values.yaml - helm package ${{ inputs.chart-path }} \ - --version "0.0.0-latest" \ - --app-version "${{ inputs.app-version }}" + CHART_PATH=${{ inputs.chart-path }} + CHART_NAME=$(basename "$CHART_PATH") + APP_VERSION=${{ inputs.app-version }} + + sed -i "s/^version:.*/version: 0.0.0-latest/" "$CHART_PATH/Chart.yaml" + sed -i "s/^appVersion:.*/appVersion: \"$APP_VERSION\"/" "$CHART_PATH/Chart.yaml" + + tar czf "${CHART_NAME}-0.0.0-latest.tgz" -C "$CHART_PATH" . - - name: Push helm chart (latest) to Gitea - shell: bash - run: | - CHART_NAME=$(basename ${{ inputs.chart-path }}) curl -u ${{ inputs.username }}:${{ inputs.password }} \ -X POST \ https://git.sebse.de/api/packages/sebse/helm/api/charts \