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
@ -3,3 +3,4 @@ Helm Jobs
|
||||
|
||||
.. zuul:autojob:: apply-helm-charts
|
||||
.. zuul:autojob:: chart-testing-lint
|
||||
.. zuul:autojob:: helm-lint
|
||||
|
@ -5,3 +5,4 @@ Helm Roles
|
||||
.. zuul:autorole:: ensure-chart-testing
|
||||
.. zuul:autorole:: chart-testing
|
||||
.. 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
|
||||
run: playbooks/helm/run.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