helm: Add job for linting helm charts
This job runs 'helm lint' on the user specified charts. Change-Id: Ie6f39bab366b683e773add181de516c3ac913866
This commit is contained in:
parent
622baa65bf
commit
b0cc01ceac
@ -2,4 +2,5 @@ Helm Jobs
|
|||||||
=========
|
=========
|
||||||
|
|
||||||
.. zuul:autojob:: apply-helm-charts
|
.. zuul:autojob:: apply-helm-charts
|
||||||
.. zuul:autojob:: chart-testing-lint
|
.. zuul:autojob:: chart-testing-lint
|
||||||
|
.. zuul:autojob:: helm-lint
|
||||||
|
@ -5,3 +5,4 @@ Helm Roles
|
|||||||
.. zuul:autorole:: ensure-chart-testing
|
.. zuul:autorole:: ensure-chart-testing
|
||||||
.. zuul:autorole:: chart-testing
|
.. zuul:autorole:: chart-testing
|
||||||
.. zuul:autorole:: helm-template
|
.. zuul:autorole:: helm-template
|
||||||
|
.. zuul:autorole:: helm-lint
|
||||||
|
3
playbooks/helm-lint/pre.yaml
Normal file
3
playbooks/helm-lint/pre.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- role: ensure-helm
|
10
playbooks/helm-lint/run.yaml
Normal file
10
playbooks/helm-lint/run.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
- hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: Lint helm charts
|
||||||
|
include_role:
|
||||||
|
name: helm-lint
|
||||||
|
vars:
|
||||||
|
helm_chart: "{{ zj_item }}"
|
||||||
|
loop: "{{ helm_charts }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: 'zj_item'
|
13
roles/helm-lint/README.rst
Normal file
13
roles/helm-lint/README.rst
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Run Helm lint on a chart to verify correctness. It assumes that the Helm
|
||||||
|
executable is installed.
|
||||||
|
|
||||||
|
**Role Variables**
|
||||||
|
|
||||||
|
.. zuul:rolevar:: helm_chart
|
||||||
|
|
||||||
|
Directory of the Helm chart.
|
||||||
|
|
||||||
|
.. zuul:rolevar:: zuul_work_dir
|
||||||
|
:default: {{ zuul.project.src_dir }}
|
||||||
|
|
||||||
|
Directory in which to run helm.
|
1
roles/helm-lint/defaults/main.yaml
Normal file
1
roles/helm-lint/defaults/main.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
zuul_work_dir: "{{ zuul.project.src_dir }}"
|
4
roles/helm-lint/tasks/main.yaml
Normal file
4
roles/helm-lint/tasks/main.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- name: Run lint
|
||||||
|
command: "helm lint {{ helm_chart }}"
|
||||||
|
args:
|
||||||
|
chdir: "{{ zuul_work_dir }}"
|
9
test-playbooks/helm-lint/create-helm-chart.yaml
Normal file
9
test-playbooks/helm-lint/create-helm-chart.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- role: ensure-helm
|
||||||
|
tasks:
|
||||||
|
- name: Create helm chart
|
||||||
|
shell: |
|
||||||
|
helm create test-chart
|
||||||
|
args:
|
||||||
|
chdir: "{{ zuul.project.src_dir }}"
|
131
zuul-tests.d/helm-jobs.yaml
Normal file
131
zuul-tests.d/helm-jobs.yaml
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint
|
||||||
|
description: Test the helm-lint job
|
||||||
|
parent: helm-lint
|
||||||
|
tags: all-platforms
|
||||||
|
files:
|
||||||
|
- playbooks/helm-lint/.*
|
||||||
|
- roles/helm-lint/.*
|
||||||
|
- roles/ensure-helm/.*
|
||||||
|
pre-run: test-playbooks/helm-lint/create-helm-chart.yaml
|
||||||
|
vars:
|
||||||
|
helm_version: 3.10.1
|
||||||
|
helm_charts: [test-chart]
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-centos-7
|
||||||
|
description: Test the helm-lint job on centos-7
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: centos-7
|
||||||
|
label: centos-7
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-centos-8-stream
|
||||||
|
description: Test the helm-lint job on centos-8-stream
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: centos-8-stream
|
||||||
|
label: centos-8-stream
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-centos-9-stream
|
||||||
|
description: Test the helm-lint job on centos-9-stream
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: centos-9-stream
|
||||||
|
label: centos-9-stream
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-debian-bullseye
|
||||||
|
description: Test the helm-lint job on debian-bullseye
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: debian-bullseye
|
||||||
|
label: debian-bullseye
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-debian-buster
|
||||||
|
description: Test the helm-lint job on debian-buster
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: debian-buster
|
||||||
|
label: debian-buster
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-fedora-36
|
||||||
|
description: Test the helm-lint job on fedora-36
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: fedora-36
|
||||||
|
label: fedora-36
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-opensuse-15
|
||||||
|
description: Test the helm-lint job on opensuse-15
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: opensuse-15
|
||||||
|
label: opensuse-15
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-ubuntu-bionic
|
||||||
|
description: Test the helm-lint job on ubuntu-bionic
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: ubuntu-bionic
|
||||||
|
label: ubuntu-bionic
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-ubuntu-focal
|
||||||
|
description: Test the helm-lint job on ubuntu-focal
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: ubuntu-focal
|
||||||
|
label: ubuntu-focal
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-helm-lint-ubuntu-jammy
|
||||||
|
description: Test the helm-lint job on ubuntu-jammy
|
||||||
|
parent: zuul-jobs-test-helm-lint
|
||||||
|
tags: auto-generated
|
||||||
|
nodeset:
|
||||||
|
nodes:
|
||||||
|
- name: ubuntu-jammy
|
||||||
|
label: ubuntu-jammy
|
||||||
|
|
||||||
|
- project:
|
||||||
|
check:
|
||||||
|
jobs: &id001
|
||||||
|
- zuul-jobs-test-helm-lint-centos-7
|
||||||
|
- zuul-jobs-test-helm-lint-centos-8-stream
|
||||||
|
- zuul-jobs-test-helm-lint-centos-9-stream
|
||||||
|
- zuul-jobs-test-helm-lint-debian-bullseye
|
||||||
|
- zuul-jobs-test-helm-lint-debian-buster
|
||||||
|
- zuul-jobs-test-helm-lint-fedora-36
|
||||||
|
- zuul-jobs-test-helm-lint-opensuse-15
|
||||||
|
- zuul-jobs-test-helm-lint-ubuntu-bionic
|
||||||
|
- zuul-jobs-test-helm-lint-ubuntu-focal
|
||||||
|
- zuul-jobs-test-helm-lint-ubuntu-jammy
|
||||||
|
gate:
|
||||||
|
jobs: *id001
|
||||||
|
periodic-weekly:
|
||||||
|
jobs: *id001
|
@ -12,3 +12,10 @@
|
|||||||
pre-run: playbooks/helm/pre.yaml
|
pre-run: playbooks/helm/pre.yaml
|
||||||
run: playbooks/helm/run.yaml
|
run: playbooks/helm/run.yaml
|
||||||
post-run: playbooks/helm/post.yaml
|
post-run: playbooks/helm/post.yaml
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: helm-lint
|
||||||
|
description: |
|
||||||
|
Run helm lint on a Helm chart
|
||||||
|
pre-run: playbooks/helm-lint/pre.yaml
|
||||||
|
run: playbooks/helm-lint/run.yaml
|
||||||
|
Loading…
Reference in New Issue
Block a user