Add yamllint tox environment

Adds yamllint tox environment with bootstrapping non-voting
configuration. To work around a situation that some of overrides
contain entries for replacement and are not actually valid yamls,
all directories are copied to temporary directory, */values*
files are modified to be readable by yamllint.

Change-Id: I0084b243c1df1692178c59fb5b1b2fb7a4cbac44
This commit is contained in:
Andrii Ostapenko 2020-05-17 15:26:29 -05:00
parent c45b38131e
commit ebfb2c6f72
2 changed files with 60 additions and 0 deletions

11
tox.ini
View File

@ -20,3 +20,14 @@ commands =
docstheme-build-translated.sh docstheme-build-translated.sh
whitelist_externals = whitelist_externals =
rm 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
...