name: Release Helm Chart on: push: branches: [main] paths: - 'charts/**' jobs: release: runs-on: ubuntu-latest steps: - name: Checkout groombook uses: actions/checkout@v4 with: fetch-depth: 0 - name: Checkout groombook.dev (Helm chart host) uses: actions/checkout@v4 with: repository: groombook/groombook.dev path: gitea-pages token: ${{ gitea.token }} - name: Install Helm uses: azure/setup-helm@v4 - name: Update Helm dependencies run: helm dependency update charts/groombook - name: Package chart run: | mkdir -p gitea-pages/charts helm package charts/groombook -d gitea-pages/charts - name: Update repo index run: | # TODO: update URL once Gitea Pages hosting is confirmed CHART_URL="${HELM_CHART_URL:-https://groombook.farh.net/charts}" if [ -f gitea-pages/charts/index.yaml ]; then helm repo index gitea-pages/charts --merge gitea-pages/charts/index.yaml --url "$CHART_URL" else helm repo index gitea-pages/charts --url "$CHART_URL" fi - name: Push to groombook.dev run: | cd gitea-pages git config user.name "groombook-engineer[bot]" git config user.email "groombook-engineer[bot]@git.farh.net" git add charts/ git diff --staged --quiet && echo 'No chart changes' && exit 0 git commit -m "Update Helm chart repository" git push