Add yamllint check to lint job

Initial commit with bootstrapping non-voting configuration
for yamllint. Yamllint checks will be switched from 'warning'
to 'enabled' in subsequent commits together with code adjustments.

Change-Id: Ie372cb9fefb310bd044b4b03064e183f0c8c003b
This commit is contained in:
Andrii Ostapenko 2020-05-17 14:01:39 -05:00
parent ca46c3a086
commit 6779ff041c
4 changed files with 80 additions and 0 deletions

View File

@ -16,3 +16,12 @@
command: find . -not -path "*/\.*" -not -path "*/doc/build/*" -not -name "*.tgz" -type f -exec egrep -l " +$" {} \;
register: result
failed_when: result.stdout != ""
- name: Check if yamllint.conf exists
stat:
path: yamllint.conf
register: yamllintconf
- name: Execute yamllint check for values* yaml files
command: tox -e lint
when: yamllintconf.stat.exists == True

11
tox.ini
View File

@ -20,3 +20,14 @@ commands =
sphinx-build -W -b html doc/source doc/build/html
whitelist_externals =
rm
[testenv:lint]
deps = yamllint
commands =
bash -c "rm -rf {toxinidir}/.yamllint"
bash -c "mkdir -p {toxinidir}/.yamllint"
bash -c "cp -r $(ls {toxinidir}) {toxinidir}/.yamllint/"
bash -c "find {toxinidir}/.yamllint -type f -exec sed -i 's/%%%.*/XXX/g' \{\} +"
bash -c "yamllint -c {toxinidir}/yamllint.conf {toxinidir}/.yamllint/*/values*"
whitelist_externals =
bash

49
yamllint.conf Normal file
View File

@ -0,0 +1,49 @@
---
yaml-files:
- '*.yaml'
- '*.yml'
- '.yamllint'
rules:
braces:
level: warning
brackets:
level: warning
colons:
level: warning
commas:
level: warning
comments:
level: warning
comments-indentation:
level: warning
document-end:
level: warning
document-start:
level: warning
empty-lines:
level: warning
empty-values:
level: warning
hyphens:
level: warning
indentation:
spaces: 2
indent-sequences: whatever
level: warning
key-duplicates:
level: warning
key-ordering: disable
line-length: disable
new-line-at-end-of-file:
level: warning
new-lines:
level: warning
octal-values:
level: warning
quoted-strings: disable
trailing-spaces: enable
truthy:
level: warning
...

View File

@ -21,3 +21,14 @@
failed_when: _found_whitespaces.stdout != ""
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
- name: Check if yamllint.conf exists
stat:
path: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}/yamllint.conf"
register: yamllintconf
- name: Execute yamllint check for values* yaml files
command: tox -e lint
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
when: yamllintconf.stat.exists == True