-
Notifications
You must be signed in to change notification settings - Fork 2
71 lines (61 loc) · 2.13 KB
/
Copy pathlint-render.yaml
File metadata and controls
71 lines (61 loc) · 2.13 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
66
67
68
69
70
71
name: Lint & Render
# Hard gate: helm lint + helm template + kubeconform schema validation across a
# representative value set per backend. Runs on GitHub-hosted runners with only
# public actions (this is a public repo — no self-hosted runners, no secrets).
on:
pull_request:
branches:
- main
workflow_dispatch:
permissions:
contents: read
env:
KUBE_VERSION: "1.29.0"
KUBECONFORM_VERSION: "v0.6.7"
jobs:
lint-render:
name: lint-render (${{ matrix.values }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
values:
- test-values/filesystem.yaml
- test-values/transient.yaml
- test-values/s3.yaml
- test-values/azureblob.yaml
- test-values/gcs.yaml
- test-values/b2.yaml
- test-values/openstack-swift.yaml
- test-values/rackspace.yaml
- test-values/multi-backend.yaml
- test-values/ingress.yaml
- test-values/autoscaling.yaml
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Helm
uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
with:
version: v3.19.2
- name: Helm lint
run: helm lint charts/s3proxy --values "${{ matrix.values }}"
- name: Helm template
run: |
helm template s3proxy charts/s3proxy \
--values "${{ matrix.values }}" \
--kube-version "${KUBE_VERSION}" > rendered.yaml
echo "----- rendered manifests -----"
cat rendered.yaml
- name: Install kubeconform
run: |
curl -sSfL "https://github.com/yannh/kubeconform/releases/download/${KUBECONFORM_VERSION}/kubeconform-linux-amd64.tar.gz" \
| tar -xz kubeconform
sudo install kubeconform /usr/local/bin/kubeconform
kubeconform -v
- name: Validate rendered manifests (kubeconform)
run: |
kubeconform -strict -summary \
-kubernetes-version "${KUBE_VERSION}" \
-schema-location default \
rendered.yaml