Skip to content

Merge pull request #10 from IAreKyleW00t/renovate/actions-checkout-4.x #18

Merge pull request #10 from IAreKyleW00t/renovate/actions-checkout-4.x

Merge pull request #10 from IAreKyleW00t/renovate/actions-checkout-4.x #18

Workflow file for this run

---
name: Helm Release
on:
workflow_dispatch:
inputs:
release:
description: Release new Charts
type: boolean
default: false
required: false
push:
branches: [main]
paths:
- .github/workflows/release.yaml
- charts/**
pull_request:
branches: [main]
paths:
- .github/workflows/release.yaml
- charts/**
jobs:
metadata:
runs-on: ubuntu-latest
outputs:
charts: ${{ steps.list.outputs.charts }}
steps:
- name: Checkout repo
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: List Helm Charts
id: list
run: |
(echo "[" && find ./charts/* -maxdepth 0 -type d -exec sh -c 'echo \"$(basename {})\",' \; | sed '$ s/.$//' && echo "]") > charts.json
echo "charts=$(cat charts.json | jq -Mrc)" >> "$GITHUB_OUTPUT"
test:
runs-on: ubuntu-latest
needs: [metadata]
strategy:
matrix:
chart: ${{ fromJSON(needs.metadata.outputs.charts) }}
defaults:
run:
working-directory: "./charts/${{ matrix.chart }}"
steps:
- name: Checkout repo
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: Install Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Helm Dependencies
id: deps
run: helm dependency build
- name: Helm Lint
id: validate
run: helm lint
- name: Helm Template
id: template
run: helm template ${{ matrix.chart }} .
release:
permissions:
contents: write
runs-on: ubuntu-latest
needs: [test]
if: (github.ref == 'refs/heads/main' && github.event_name == 'push') || github.event.inputs.release
steps:
- name: Checkout repo
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
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: Install Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Run chart-releaser
uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0
with:
charts_dir: ./charts
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"