diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index be3c7b9..b798db7 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -19,12 +19,12 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - # Runs on every master push. chart-releaser compares Chart.yaml's version - # against the published releases (CR_SKIP_EXISTING), so this is an idempotent - # no-op until the release-please PR carrying a version bump is merged. Do NOT - # gate this on release-please outputs: the chart package uses - # skip-github-release (chart-releaser owns tags + releases), so - # releases_created never fires for it. + # Runs on every master push. hevi compares Chart.yaml's version against the + # published releases (cr --skip-existing) and against the OCI registry + # (push-skip-existing), so this is an idempotent no-op until the release-please + # PR carrying a version bump is merged. Do NOT gate this on release-please + # outputs: the chart package uses skip-github-release (chart-releaser owns tags + # + releases), so releases_created never fires for it. publish: runs-on: ubuntu-latest needs: release-please @@ -39,28 +39,20 @@ jobs: git config user.name "$GITHUB_ACTOR" git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + # hevi prefers a helm from PATH over its own pinned download, so pin it + # here to keep the packaged output independent of the runner image. - name: Set up Helm uses: azure/setup-helm@v4 - - name: Run chart-releaser - uses: helm/chart-releaser-action@v1 + - name: Package, release and push charts + uses: tada5hi/hevi@v2 with: - charts_repo_url: https://helm.authup.org - env: - CR_TOKEN: ${{ secrets.GITHUB_TOKEN }} - CR_SKIP_EXISTING: "true" - CR_GENERATE_RELEASE_NOTES: "true" - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Push charts to GHCR (OCI) - run: | - shopt -s nullglob - for pkg in .cr-release-packages/*.tgz; do - helm push "$pkg" "oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/helm-charts" - done + directory: charts + package: true + release: true + release-generate-notes: true + push: true + push-host: ghcr.io/${{ github.repository_owner }}/helm-charts + push-username: ${{ github.actor }} + push-password: ${{ secrets.GITHUB_TOKEN }} + push-skip-existing: true diff --git a/.gitignore b/.gitignore index 166f3a6..e7a6dc5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,6 @@ *.tgz .cr-release-packages/ .cr-index/ +.hevi/ charts/*/values.local.yaml charts/*/values.personal.yaml