name: Release on: push: tags: - "**" jobs: publish-chart: container: image: docker.io/volkerraschek/helm:3.18.2 runs-on: ubuntu-latest steps: - name: Install packages via apk run: | apk update apk add git npm jq yq - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Add Artifacthub.io annotations run: | NEW_TAG="$(git tag --sort=-version:refname | head -n 1)" OLD_TAG="$(git tag --sort=-version:refname | head -n 2 | tail -n 1)" .gitea/scripts/add-annotations.sh "${OLD_TAG}" "${NEW_TAG}" - name: Extract meta information run: | echo "PACKAGE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV echo "REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2 | sed --regexp-extended 's/-charts?//g')" >> $GITHUB_ENV echo "REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1)" >> $GITHUB_ENV - name: Update Helm Chart version in README.md run: sed -i -E "s/^CHART_VERSION=.*/CHART_VERSION=${PACKAGE_VERSION}/g" README.md - name: Package chart run: | helm dependency build helm package --version "${PACKAGE_VERSION}" ./ - name: Upload Chart to ChartMuseum env: CHARTMUSEUM_PASSWORD: ${{ secrets.CHARTMUSEUM_PASSWORD }} CHARTMUSEUM_REPOSITORY: ${{ vars.CHARTMUSEUM_REPOSITORY }} CHARTMUSEUM_USERNAME: ${{ secrets.CHARTMUSEUM_USERNAME }} CHARTMUSEUM_HOSTNAME: ${{ vars.CHARTMUSEUM_HOSTNAME }} run: | helm repo add --username ${CHARTMUSEUM_USERNAME} --password ${CHARTMUSEUM_PASSWORD} chartmuseum https://${CHARTMUSEUM_HOSTNAME}/${CHARTMUSEUM_REPOSITORY} helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz chartmuseum helm repo remove chartmuseum - name: Upload Chart to Gitea env: GITEA_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} GITEA_SERVER_URL: ${{ github.server_url }} run: | helm repo add --username ${REPOSITORY_OWNER} --password ${GITEA_PACKAGE_REGISTRY_TOKEN} gitea ${GITEA_SERVER_URL}/api/packages/${REPOSITORY_OWNER}/helm helm cm-push ${REPOSITORY_NAME}-${PACKAGE_VERSION}.tgz gitea helm repo remove gitea