-
Notifications
You must be signed in to change notification settings - Fork 660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Limit the maximum block depth #3602
Conversation
hey @ssbarnea @ajinkyau can you review this please? |
- fix counting of depth - rename rule id to 'complexity[nesting]' - add missing documentation - add missing configuration schema - include configurable example in sample config file
Please check the last commit and see all the extra changes I had to do there. The original code was not really working and the tests were failing to check for the behavior. Still, it was not too hard to fix. |
the main thing i got wrong and really confused was with the example of the block, i although discussed that once with ajinkya, but nevertheless, apologies for the extra work and would contribute more to get a good hang of it! |
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ansible-lint](https://github.com/ansible/ansible-lint) ([changelog](https://github.com/ansible/ansible-lint/releases)) | minor | `==6.17.2` -> `==6.18.0` | --- ### Release Notes <details> <summary>ansible/ansible-lint (ansible-lint)</summary> ### [`v6.18.0`](https://github.com/ansible/ansible-lint/releases/tag/v6.18.0) [Compare Source](ansible/ansible-lint@v6.17.2...v6.18.0) #### Minor Changes - Limit the maximum block depth ([#​3602](ansible/ansible-lint#3602)) [@​Ruchip16](https://github.com/Ruchip16) - Transform functionality for command_instead_of_shell ([#​3675](ansible/ansible-lint#3675)) [@​ajinkyau](https://github.com/ajinkyau) - Add rule to check the number of tasks ([#​3156](ansible/ansible-lint#3156)) [@​Ruchip16](https://github.com/Ruchip16) #### Bugfixes - Clarify loop-var-prefix rule and code snippet ([#​3642](ansible/ansible-lint#3642)) [@​schwarmco](https://github.com/schwarmco) - Update `version_added` for complexity rule ([#​3623](ansible/ansible-lint#3623)) [@​ajinkyau](https://github.com/ajinkyau) - Ensure that single space between tasks is preserved when using --write ([#​3641](ansible/ansible-lint#3641)) [@​shatakshiiii](https://github.com/shatakshiiii) - Update ansible-compat used for testing ([#​3664](ansible/ansible-lint#3664)) [@​ssbarnea](https://github.com/ssbarnea) - Document `yaml[line-length]` rule ([#​3653](ansible/ansible-lint#3653)) [@​shatakshiiii](https://github.com/shatakshiiii) - Prevent use of spdx-tools 0.8.0 due to breaking changes ([#​3649](ansible/ansible-lint#3649)) [@​ssbarnea](https://github.com/ssbarnea) - fixes dead marketplace link ([#​3631](ansible/ansible-lint#3631)) [@​wookietreiber](https://github.com/wookietreiber) - Improve profile information on summary line ([#​3637](ansible/ansible-lint#3637)) [@​ziegenberg](https://github.com/ziegenberg) - command-instead-of-module: allow `git rev-parse` ([#​3610](ansible/ansible-lint#3610)) [@​JohnVillalovos](https://github.com/JohnVillalovos) - Include filepaths starting from $HOME in lintables ([#​3621](ansible/ansible-lint#3621)) [@​shatakshiiii](https://github.com/shatakshiiii) - Update \_mockings.py to fix bug created in [#​3390](ansible/ansible-lint#3390) ([#​3614](ansible/ansible-lint#3614)) [@​karcaw](https://github.com/karcaw) - Allow to set gather_facts as templated boolean ([#​3606](ansible/ansible-lint#3606)) [@​noonedeadpunk](https://github.com/noonedeadpunk) - Add dependency version check for collection metadata ([#​3601](ansible/ansible-lint#3601)) [@​ajinkyau](https://github.com/ajinkyau) - Fix installation of dependencies when run as an action ([#​3592](ansible/ansible-lint#3592)) [@​ssbarnea](https://github.com/ssbarnea) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yMy4yIiwidXBkYXRlZEluVmVyIjoiMzYuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Reviewed-on: https://git.home/nrdufour/home-ops/pulls/49 Co-authored-by: Renovate <[email protected]> Co-committed-by: Renovate <[email protected]>
Does this PR really limit maximum block depth, or tasks inside a block? There seems to be a conflict between the PR name and the help files contained in the PR diff:
Please clarify which one it is, something is wrong here. More precisely:
This rule description already has a conflict as well. It talks about number of tasks inside a block, but the rule name talks about "nesting" and the config param name includes "depth", contrary to the description text. It just adds to the confusion around what does this actually do. This is even listed in release notes talking about "maximum block depth", i.e. how many layers in nesting. But this does not match the rule descriptions at all. |
|
It does not, at all. It strengthens my opinion that the words are misused here. More suitable terms would include: "length", "size", etc. |
Since inside tasks there can be nested blocks so this PR limits the depth of the block by a certain limit which helps to maintain the readability of the playbooks.
fixes: #2173