-
Notifications
You must be signed in to change notification settings - Fork 4
65 lines (53 loc) · 1.71 KB
/
helm-lint.yml
File metadata and controls
65 lines (53 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
name: Helm Chart Lint
on:
pull_request:
paths:
- 'charts/**'
- '.github/workflows/**'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.13.1
- name: Add MCP chart repository
run: |
helm repo add mcp https://arbuzov.github.io/mcp-helm/
helm repo update
- name: Install yamllint
run: sudo apt-get update && sudo apt-get install -y yamllint
- name: Run yamllint
run: yamllint .
- name: Install markdownlint
run: |
npm install -g markdownlint-cli
- name: Lint Markdown files
run: markdownlint '**/*.md'
- name: Lint all charts
run: |
status=0
for chart in charts/*; do
helm dependency update "$chart" || true
helm lint "$chart" || status=1
done
exit $status
- name: Install kubeval
run: |
curl -L https://github.com/instrumenta/kubeval/releases/download/v0.16.1/kubeval-linux-amd64.tar.gz -o kubeval.tar.gz
tar xzf kubeval.tar.gz
sudo install -o root -g root -m 0755 kubeval /usr/local/bin/kubeval
- name: Render and validate charts
run: |
status=0
for chart in charts/*; do
helm template "$chart" | kubeval - --ignore-missing-schemas || status=1
done
exit $status
- name: Install yq
run: |
YQ_VERSION=4.43.1
curl -L https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64 -o yq
sudo install -o root -g root -m 0755 yq /usr/local/bin/yq