v5.0.0-rc.2 #63
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: the secureCodeBox authors | |
| # | |
| # SPDX-License-Identifier: Apache-2.0 | |
| # The CI runs on ubuntu-24.04; More info about the installed software is found here: | |
| # https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md | |
| on: | |
| release: | |
| types: [published] | |
| name: "Publish Helm Charts" | |
| jobs: | |
| helm: | |
| name: Package and Publish | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: "Install yq" | |
| run: | | |
| sudo snap install yq | |
| - name: "Publish Helm Charts" | |
| env: | |
| HELM_REGISTRY: https://charts.securecodebox.io | |
| USERNAME: ${{ secrets.HELM_REGISTRY_USERNAME }} | |
| PASSWORD: ${{ secrets.HELM_REGISTRY_PASSWORD }} | |
| run: | | |
| RELEASE_VERSION="${GITHUB_REF#refs/*/}" | |
| # Remove leading 'v' from git tag to create valid semver | |
| RELEASE_VERSION="${RELEASE_VERSION//v}" | |
| # Publish all helm charts in all folders containing a `Chart.yaml` file | |
| # https://github.com/koalaman/shellcheck/wiki/SC2044 | |
| find . -type f -name Chart.yaml -not -path "./.templates/*" -print0 | while IFS= read -r -d '' chart; do | |
| ( | |
| dir="$(dirname "${chart}")" | |
| cd "${dir}" || exit | |
| echo "Processing Helm Chart in $dir" | |
| NAME=$(yq eval '.name' - < Chart.yaml) | |
| if [ -d "docs" ]; then | |
| echo "Docs Folder found at: ${dir}/docs" | |
| # Use prepared ArtifactHub specific README instead of the general existing one | |
| cp docs/README.ArtifactHub.md README.md | |
| else | |
| echo "Ignoring Docs process for Chart $dir, because no `docs` folder found at: ${dir}/docs" | |
| fi | |
| helm package --version $RELEASE_VERSION . | |
| curl --silent --show-error --http1.1 --user "${USERNAME}:${PASSWORD}" --data-binary "@${NAME}-${RELEASE_VERSION}.tgz" "${HELM_REGISTRY}/api/charts" | |
| sleep 5s | |
| ) | |
| done |