From fc8e68f0e9b300d5bb6a96a3e5ff582fe24e896e Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Mon, 17 Oct 2022 13:48:32 +1100 Subject: [PATCH] Update to ansible-lint 6.8.2 This updates to ansible-lint 6.8.2. The prior changes have updated various things for new things the linter picked up. As noted inline, the jinja2 parsing has not been working well with this repository. I've been keeping an eye on it over several releases, but I think at this point it's not going to work well for us. I've left discussion in .ansible-lint. The var-spacing in stage-output is the old name for the jinja2 filtering; since that is now ignored in .ansible-lint it can be removed. Change-Id: Ia2c9392eeb232b9b2b1d4febce8493d71de64482 --- .ansible-lint | 20 ++++++++++++++++++++ linters-requirements.txt | 2 +- roles/stage-output/tasks/main.yaml | 2 -- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/.ansible-lint b/.ansible-lint index 70a52f711..026ee3a50 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -6,8 +6,28 @@ skip_list: - 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? + + # 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: diff --git a/linters-requirements.txt b/linters-requirements.txt index a797c4a6a..bfff238c2 100644 --- a/linters-requirements.txt +++ b/linters-requirements.txt @@ -5,4 +5,4 @@ flake8 yamllint>=1.23.0 # 6.5.0 : https://github.com/ansible/ansible-lint/issues/2330 # 6.5.1 : https://github.com/ansible/ansible-lint/issues/2320 -ansible-lint>6.0.0,<6.5.0 +ansible-lint>6.8.0 diff --git a/roles/stage-output/tasks/main.yaml b/roles/stage-output/tasks/main.yaml index e798e0e76..738f9a419 100644 --- a/roles/stage-output/tasks/main.yaml +++ b/roles/stage-output/tasks/main.yaml @@ -96,8 +96,6 @@ # gzip will however return 1 if any compressed file is encountered, so we # must ignore that (there's no specific error code). - name: Archive everything from logs - # https://github.com/ansible/ansible-lint/issues/2241 - # noqa var-spacing shell: gzip --recursive --best {{ zj_log_file.path }} || true args: chdir: "{{ stage_dir }}/logs"