diff options
author | Bartek Grzybowski <b.grzybowski@partner.samsung.com> | 2020-02-28 14:09:43 +0100 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2020-03-02 14:20:42 +0000 |
commit | 76c43bfd668d4f112a3845c631459643e405304a (patch) | |
tree | aeb7845aa09b75b32b88ec14619e84419af13ced | |
parent | c058382fb121b2463054485cd9c2a44c9129ee11 (diff) |
Add setup for YAML/JSON files linting
Tox based setup for running linters on YAML and
JSON files. It can be run manually to verify local
changes in _commited_ files.
Relevant CI job (created at Change-Id:
I4f130f6c68222d53dcf022f3fd4a2b41765eaf45) triggered
by change to any of yaml/json files leverages this
setup to run verify tasks.
Change-Id: I07845e3771c0246847184217a96dc90764595f17
Issue-ID: INT-1427
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
-rw-r--r-- | .coafile | 18 | ||||
-rw-r--r-- | .yamllint | 16 | ||||
-rw-r--r-- | tox.ini | 29 |
3 files changed, 63 insertions, 0 deletions
diff --git a/.coafile b/.coafile new file mode 100644 index 000000000..a22c086a3 --- /dev/null +++ b/.coafile @@ -0,0 +1,18 @@ +[yaml] +bears = YAMLLintBear +yamllint_config = .yamllint +ignore = + .tox/**, + # Doesn't look like a valid YAML although it pretends one + deployment/heat/onap-rke/parts/onap-oom-2.yaml + +[json] +bears = JSONFormatBear +json_sort = False +indent_size = 2 +ignore = + .tox/**, + # This one ought to be broken + test/mocks/pnfsimulator/pnfsimulator/src/test/resources/org/onap/pnfsimulator/simulator/invalidJsonStructureEvent.json, + # This one is empty + test/mocks/datafilecollector-testharness/simulator-group/consul/consul_config.json diff --git a/.yamllint b/.yamllint new file mode 100644 index 000000000..ab5bdc378 --- /dev/null +++ b/.yamllint @@ -0,0 +1,16 @@ +--- + +extends: default + +rules: + line-length: disable + truthy: disable + braces: + max-spaces-inside: 1 + brackets: + max-spaces-inside: 1 + comments-indentation: disable + comments: disable + document-start: disable + indentation: + indent-sequences: whatever diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..0d17113b6 --- /dev/null +++ b/tox.ini @@ -0,0 +1,29 @@ +[tox] +minversion = 3.2.0 +envlist = json,yaml +skipsdist = true +requires = pip >= 8 + +[testenv] +basepython = python3 +whitelist_externals = + git + bash +deps = + coala-bears + +[testenv:json] +commands_pre = + /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.json' > /tmp/.coalist_json" +commands = +# '\ ' at the end of command is needed for a case where above command returns empty list (it adds empty file +# parameter to '--files' opt + /bin/bash -c "coala --non-interactive --disable-caching --no-autoapply-warn json --files $(</tmp/.coalist_json) \ " + +[testenv:yaml] +commands_pre = + /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.yaml' '*.yml' > /tmp/.coalist_yaml" +commands = +# '\ ' at the end of command is needed for a case where above command returns empty list (it adds empty file +# parameter to '--files' opt + /bin/bash -c "coala --non-interactive --disable-caching --no-autoapply-warn yaml --files $(</tmp/.coalist_yaml) \ " |