name: Helm on: push: branches: - main - release-* paths: - 'deploy/charts/**' pull_request: paths: - 'deploy/charts/**' workflow_dispatch: {} jobs: lint-and-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Generate chart run: | make helm.generate - name: Set up Helm uses: azure/setup-helm@v3.3 with: version: v3.4.2 - uses: actions/setup-python@v4.3.0 with: python-version: 3.7 - name: Set up chart-testing uses: helm/chart-testing-action@v2.3.1 - name: Run chart-testing (list-changed) id: list-changed run: | changed=$(ct list-changed --config=.github/ci/ct.yaml) if [[ -n "$changed" ]]; then echo "::set-output name=changed::true" fi - name: Run chart-testing (lint) run: ct lint --config=.github/ci/ct.yaml release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Configure Git run: | git config user.name "$GITHUB_ACTOR" git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - name: Set up Helm uses: azure/setup-helm@v3.3 with: version: v3.4.2 - name: Generate chart run: | make helm.generate - name: Run chart-releaser uses: helm/chart-releaser-action@v1.4.1 if: github.ref == 'refs/heads/main' env: CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" CR_RELEASE_NAME_TEMPLATE: "helm-chart-{{ .Version }}" with: charts_dir: deploy/charts charts_repo_url: https://charts.external-secrets.io