zuul-jobs/.ansible-lint
James E. Blair 8a7dd50b6b Ignore some recent ansible-list warnings
We don't need to name every play; in the Zuul context, they are
usually pretty self-evident.  It might be nice, but it doesn't
seem necessary to require it.

We really don't need to care about using upper or lower case.

The key-order seems very arbitrary and counterproductive to make
all our developers memorize someone else's arbitrary preference
for ordering.

Change-Id: I49455b6946d5d9b6bffd58420fea586ecc6c5f80
2024-09-18 09:16:37 -07:00

47 lines
2.1 KiB
Plaintext

parseable: true
quiet: false
skip_list:
- meta-no-info # No 'galaxy_info' found
- no-changed-when # Commands should not change things if nothing needs doing
- no-tabs # Most files should not contain tabs
- role-name # Role name does not match ``^[a-z][a-z0-9_]+$`` pattern
- fqcn-builtins # It would probably be good to enforce this, but it's a lot
- fqcn # similar to above
- risky-file-permissions # It would probably also good to enforce this if someone wants to look at them
- schema # This is a stricter form of schema per https://github.com/ansible/schemas. might also be good if someone has motivation?
- key-order # This suggests an arbitrary ordering of keys which means our developers would need to memorize someone's personal preference
- name[play] # We have no objection to naming plays, but because of all of our short job playbooks, there are a *lot* of them that are pretty self-evident in the Zuul context, so it doesn't seem necessary.
- name[casing] # We should use proper capitalization, but this is too nit-picky to waste time on
# NOTE(ianw) After following the jinja formatting extensions in
# ansible-lint for a few releases, this does not seem to be
# appropriate for us. It has broken in a couple of releases [1,2]
# -- but more importantly as discussed in [1] this is a bit
# opinonated in ways we may not like; for example
# varibale|int > 123
# I would argue is clearer than
# variable | int > 123
# which it tries to enforce. This is a bit unfortunate because it
# does pick up some other things were people have clearly forgotten
# spaces around variables, etc. Let's leave it up to humans to
# decide on good jinja here.
# [1] https://github.com/ansible/ansible-lint/issues/2330
# [2] https://github.com/ansible/ansible-lint/issues/2461
# [3] https://github.com/ansible/ansible-lint/issues/2605
- jinja[spacing]
- jinja[invalid]
use_default_rules: true
verbosity: 1
mock_modules:
- zuul_console
- zuul_return
loop_var_prefix: zj_
# Enable rules that are disabled by default:
enable_list:
- no-same-owner
# Local variables:
# mode: yaml
# End: