From 29248a4ba2e1a9299d2252f60bd26066613c78aa Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Mon, 12 Jun 2023 13:22:13 +0100 Subject: [PATCH] Avoid false positive with var-naming[no-role-prefix] (#3550) --- examples/test_collection/roles/my_role/tasks/main.yml | 7 +++++++ src/ansiblelint/rules/var_naming.py | 2 ++ 2 files changed, 9 insertions(+) diff --git a/examples/test_collection/roles/my_role/tasks/main.yml b/examples/test_collection/roles/my_role/tasks/main.yml index 50c17c6786..784a81472f 100644 --- a/examples/test_collection/roles/my_role/tasks/main.yml +++ b/examples/test_collection/roles/my_role/tasks/main.yml @@ -4,3 +4,10 @@ name: example.test_collection.my_role2 vars: my_role2_foo: something + +- name: Task 2 + # this task should NOT trigger var-naming[no-role-prefix] + vars: + foo: bar + ansible.builtin.debug: + msg: "{{ foo }}" diff --git a/src/ansiblelint/rules/var_naming.py b/src/ansiblelint/rules/var_naming.py index 1919e5d787..389530dba3 100644 --- a/src/ansiblelint/rules/var_naming.py +++ b/src/ansiblelint/rules/var_naming.py @@ -219,6 +219,8 @@ def matchtask( if isinstance(action, dict): role_fqcn = action.get("name", "") prefix = role_fqcn.split("/" if "/" in role_fqcn else ".")[-1] + else: + prefix = "" for key in our_vars: match_error = self.get_var_naming_matcherror(key, prefix=prefix) if match_error: