diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml new file mode 100644 index 0000000..539761b --- /dev/null +++ b/.github/workflows/release-charts.yaml @@ -0,0 +1,45 @@ +name: Release Helm Charts + +on: + push: + branches: + - main + +jobs: + lint: + runs-on: ubuntu-${{ vars.UBUNTU_VERSION }} + name: Lint Helm charts + permissions: + contents: read + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Set up Helm + uses: azure/setup-helm@v3 + with: + version: v${{ vars.HELM_VERSION }} + + - name: Lint charts + run: | + helm lint charts/* + + release: + needs: lint + runs-on: ubuntu-${{ vars.UBUNTU_VERSION }} + name: Release Helm Charts + permissions: + contents: write + steps: + - name: Checkout source code + uses: actions/checkout@v4 + + - name: Configure Git + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + + - name: Release charts + uses: helm/chart-releaser-action@v1.7.0 + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 9ba40d6..0000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,62 +0,0 @@ -name: Release Helm Charts - -on: - release: - types: - - published - -jobs: - build: - runs-on: ubuntu-${{ vars.UBUNTU_VERSION }} - name: Build and package Helm charts - permissions: - contents: read - env: - GITHUB_PAGES_URL: https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }} - steps: - - name: Checkout source code - uses: actions/checkout@v4 - - - name: Set up Helm - uses: azure/setup-helm@v3 - with: - version: v${{ vars.HELM_VERSION }} - - - name: Package charts - run: | - mkdir -p packaged_charts - for dir in charts/*; do - if [ -f "$dir/Chart.yaml" ]; then - helm dependency update "$dir" || true - helm package "$dir" -d packaged_charts - fi - done - - - name: Generate index.yaml - run: | - curl -fL ${{ env.GITHUB_PAGES_URL }}/index.yaml -o packaged_charts/index.yaml || true - if [ -f packaged_charts/index.yaml ]; then - helm repo index packaged_charts --url ${{ env.GITHUB_PAGES_URL }} --merge packaged_charts/index.yaml - else - helm repo index packaged_charts --url ${{ env.GITHUB_PAGES_URL }} - fi - - - name: Upload packaged charts artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./packaged_charts - - deploy: - needs: build - runs-on: ubuntu-${{ vars.UBUNTU_VERSION }} - name: Deploy to GitHub Pages - permissions: - pages: write - id-token: write - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.github/workflows/test.yaml b/.github/workflows/test-charts.yaml similarity index 93% rename from .github/workflows/test.yaml rename to .github/workflows/test-charts.yaml index 700c272..9ac7092 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test-charts.yaml @@ -1,9 +1,6 @@ name: Test Helm Charts on: - push: - branches: - - main pull_request: branches: - main