Skip to content

fix: do not warn when Jinja block indent is only trim-marker noise - #5153

Merged
shvenkat-rh merged 3 commits into
ansible:mainfrom
DSeaStar:fix-jinja-block-indent-trim
Aug 25, 2026
Merged

shvenkat-rh merged 3 commits into
ansible:mainfrom
DSeaStar:fix-jinja-block-indent-trim

Conversation

@DSeaStar

@DSeaStar DSeaStar commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #5146

jinja[spacing] currently rewrites nested {%- if -%} / {%- else -%} blocks by stripping the indent in front of the inner tags. That indent is not a real spacing problem: lex/unlex cannot restore whitespace consumed by the - trim markers, and --fix makes the template less readable.

Skip the spacing warning when the original and reformatted text differ only by indentation immediately before Jinja block tags. Internal spacing inside the tags is still checked.

Summary by CodeRabbit

  • Bug Fixes
    • Prevented false-positive spacing fixes when Jinja block indentation is intentionally preserved.
    • Ensured nested trim-marker blocks retain their existing indentation.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c253bffb-0f0f-4d78-92a7-c4502597ebd0

📥 Commits

Reviewing files that changed from the base of the PR and between 4971cbb and 62bc712.

📒 Files selected for processing (1)
  • src/ansiblelint/rules/jinja.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/ansiblelint/rules/jinja.py

📝 Walkthrough

Walkthrough

The Jinja spacing rule now suppresses rewrites that only alter indentation before block tags consumed by trim markers. A regression test covers nested conditional blocks and verifies that their indentation remains unchanged.

Changes

Jinja spacing behavior

Layer / File(s) Summary
Indentation-only rewrite detection and regression coverage
src/ansiblelint/rules/jinja.py
The rule compares templates after removing indentation before Jinja block tags. It suppresses spacing rewrites when only trim-marker indentation changes. A regression test verifies nested if and else block indentation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 62bc7

The change prevents false spacing warnings caused by Jinja trim-marker indentation while preserving checks inside the tags. No actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the fix for false warnings caused by Jinja block indentation and trim-marker noise.
Linked Issues check ✅ Passed The changes address issue #5146 by suppressing indentation-only Jinja spacing rewrites and adding a regression test for nested trim-marker blocks.
Out of Scope Changes check ✅ Passed The changes are limited to the Jinja spacing rule and its regression coverage, which directly support issue #5146.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DSeaStar
DSeaStar force-pushed the fix-jinja-block-indent-trim branch from 4971cbb to 72ca913 Compare August 15, 2026 00:46
Nested {%- if -%} / {%- else -%} blocks lose their indent on lex/unlex
because the '-' trim eats following whitespace. That is not a spacing
improvement, and --fix makes the template worse.

Signed-off-by: SeaStar Deng <37767638+DSeaStar@users.noreply.github.com>
@DSeaStar
DSeaStar force-pushed the fix-jinja-block-indent-trim branch from 72ca913 to 62bc712 Compare August 15, 2026 00:52
@shvenkat-rh

Copy link
Copy Markdown
Contributor

Code Review: PR #5153 — fix: do not warn when Jinja block indent is only trim-marker noise

Verdict: READY_FOR_HUMAN_REVIEW

Scores

Lens Score Findings
Functionality 10/10 0 surviving
Security 10/10 0 surviving
Quality 10/10 0 surviving
Overall 10.0/10

Change Intent

Fixes #5146: jinja[spacing] falsely rewrites nested {%- if -%} / {%- else -%} blocks by stripping indent before inner tags. The lex/unlex cycle cannot restore whitespace consumed by - trim markers, so --fix makes the template less readable. The fix adds _is_block_indent_only_change() to skip the spacing warning when the only difference is indentation before Jinja block tags.

Structural Sweep

Category Count Files
New logic 1 src/ansiblelint/rules/jinja.py (regex + helper function)
Modified logic 1 src/ansiblelint/rules/jinja.py (new guard in check_whitespace)
Tests 1 src/ansiblelint/rules/jinja.py (test case id=48)

Findings

None. No critical, major, minor, or nit-level issues found.

Verification Results

Check Method Result
Regex does not match {{ variable tags " {{ var }}" unchanged after .sub() PASS
Regex does not match mid-line whitespace "some text {% if x %}" unchanged PASS
Regex strips indent before {% " {%- if x -%}" becomes "{%- if x -%}" PASS
Real spacing fix not suppressed "{%- if x-%}" != "{%- if x -%}" after strip PASS
No ReDoS risk 100KB adversarial whitespace: ~7ms PASS
Test id=48 passes pytest -k 48 PASS
All existing tests pass 60/60 passed PASS

Observations

  1. Regex correctness verified. r"(?m)^[ \t]+(?=\{%)" correctly matches only leading whitespace at line boundaries before {% block tags. Does NOT match {{, mid-line whitespace, or literal text.
  2. No over-suppression risk. Real spacing issues inside block tags (e.g., {%- if x-%} → {%- if x -%}) survive the strip comparison and are still reported.
  3. Guard ordering correct. Placed after _is_broken_rewrite — both guards are independent and return the same early-return tuple.
  4. Code organization follows conventions. Mirrors the existing _is_broken_rewrite pattern exactly.
  5. ReDoS absent. Simple linear pattern, no nested quantifiers or ambiguous paths.
  6. Security-neutral. jinja[spacing] is purely cosmetic; suppressing a spacing warning has zero security impact.

Path to 10/10

No action required. Clean change — well-targeted fix with correct regex, no over-suppression, follows existing conventions, and includes a representative test case.

Overall: 10.0/10 — READY_FOR_HUMAN_REVIEW


AI-assisted review using Claude Code

@shvenkat-rh

Copy link
Copy Markdown
Contributor

Please rebase the branch. Once done i will approve it

@shvenkat-rh
shvenkat-rh merged commit e6ec973 into ansible:main Aug 25, 2026
23 checks passed
ivanch added a commit to ivanch/haven that referenced this pull request Sep 27, 2026
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 | `==26.6.0` → `==26.9.0` |

---

### Release Notes

<details>
<summary>ansible/ansible-lint (ansible-lint)</summary>

### [`v26.9.0`](https://github.com/ansible/ansible-lint/releases/tag/v26.9.0)

[Compare Source](ansible/ansible-lint@v26.8.0...v26.9.0)

#### Features

- feat: support `example` section in file `meta/argument_specs.yml` ([#&#8203;5164](ansible/ansible-lint#5164)) [@&#8203;berndfinger](https://github.com/berndfinger)

#### Fixes

- fix: resolve short mock modules during syntax check ([#&#8203;5149](ansible/ansible-lint#5149)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: propagate `extra_vars` to `import_playbook` syntax check ([#&#8203;5148](ansible/ansible-lint#5148)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: resolve nested `include_tasks` relative paths ([#&#8203;5159](ansible/ansible-lint#5159)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: resolve `include_tasks` paths from playbook dir ([#&#8203;5184](ansible/ansible-lint#5184)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: apply profile-level skip list during linting ([#&#8203;5151](ansible/ansible-lint#5151)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: honor `warn_list` after `--fix` rewrites task names ([#&#8203;5085](ansible/ansible-lint#5085)) [@&#8203;santosh7676](https://github.com/santosh7676)
- fix: mock\_modules clobbering collections and args false positives ([#&#8203;5157](ansible/ansible-lint#5157)) [@&#8203;djdanielsson](https://github.com/djdanielsson)
- fix: inject plain-name mock roles path regardless of `--offline` ([#&#8203;5183](ansible/ansible-lint#5183)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: warn users when directory expansion discovers new files ([#&#8203;5158](ansible/ansible-lint#5158)) [@&#8203;rockygeekz](https://github.com/rockygeekz)
- fix: skip auto-fix `no-jinja-when` on string-embedded jinja ([#&#8203;5103](ansible/ansible-lint#5103)) [@&#8203;f1047](https://github.com/f1047)
- fix: do not warn when Jinja block indent is only trim-marker noise ([#&#8203;5153](ansible/ansible-lint#5153)) [@&#8203;DSeaStar](https://github.com/DSeaStar)
- fix: preserve blank lines after flow collections ([#&#8203;5178](ansible/ansible-lint#5178)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: add `validate_argspec` to play schema ([#&#8203;5187](ansible/ansible-lint#5187)) [@&#8203;sameeralam3127](https://github.com/sameeralam3127)
- fix: use ThreadPoolExecutor for syntax check workers ([#&#8203;5173](ansible/ansible-lint#5173)) [@&#8203;rockygeekz](https://github.com/rockygeekz)
- fix: drop ruamel.yaml.clib ([#&#8203;5163](ansible/ansible-lint#5163)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix(deps): upgrade gitpython 3.1.57 to 3.1.59 ([#&#8203;5152](ansible/ansible-lint#5152)) [@&#8203;rockygeekz](https://github.com/rockygeekz)
- fix: upgrade black to >=25.2.0 to address CVE-2026-32274 ([#&#8203;5166](ansible/ansible-lint#5166)) [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh)
- fix: raise cryptography floor and bump js-yaml for Guardian prod vulns ([#&#8203;5174](ansible/ansible-lint#5174)) [@&#8203;rockygeekz](https://github.com/rockygeekz)

#### Performance

- perf: cache `get_deps_versions()` result ([#&#8203;5113](ansible/ansible-lint#5113)) [@&#8203;BlackDark](https://github.com/BlackDark)

#### Maintenance

- chore: Add `.github/SECURITY.md` ([#&#8203;5165](ansible/ansible-lint#5165)) [@&#8203;gundalow](https://github.com/gundalow)
- chore(deps): update all dependencies and pep621 ([#&#8203;5138](ansible/ansible-lint#5138), [#&#8203;5154](ansible/ansible-lint#5154), [#&#8203;5155](ansible/ansible-lint#5155), [#&#8203;5160](ansible/ansible-lint#5160), [#&#8203;5161](ansible/ansible-lint#5161), [#&#8203;5172](ansible/ansible-lint#5172), [#&#8203;5175](ansible/ansible-lint#5175), [#&#8203;5176](ansible/ansible-lint#5176)) @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)

#### What's Changed

- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5138](ansible/ansible-lint#5138)
- fix: resolve short mock modules during syntax check by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5149](ansible/ansible-lint#5149)
- fix(deps): upgrade gitpython 3.1.57 to 3.1.59 by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5152](ansible/ansible-lint#5152)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5155](ansible/ansible-lint#5155)
- fix: propagate extra\_vars to import\_playbook syntax check by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5148](ansible/ansible-lint#5148)
- fix: warn users when directory expansion discovers new files by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5158](ansible/ansible-lint#5158)
- fix: resolve nested include\_tasks relative paths by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5159](ansible/ansible-lint#5159)
- fix: apply profile-level skip list during linting by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5151](ansible/ansible-lint#5151)
- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5154](ansible/ansible-lint#5154)
- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5160](ansible/ansible-lint#5160)
- fix: skip auto-fix no-jinja-when on string-embedded jinja by [@&#8203;f1047](https://github.com/f1047) in [#&#8203;5103](ansible/ansible-lint#5103)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5161](ansible/ansible-lint#5161)
- fix: do not warn when Jinja block indent is only trim-marker noise by [@&#8203;DSeaStar](https://github.com/DSeaStar) in [#&#8203;5153](ansible/ansible-lint#5153)
- chore: Add .github/SECURITY.md by [@&#8203;gundalow](https://github.com/gundalow) in [#&#8203;5165](ansible/ansible-lint#5165)
- fix: upgrade black to >=25.2.0 to address CVE-2026-32274 by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5166](ansible/ansible-lint#5166)
- Fix/drop ruamel yaml clib fresh by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5163](ansible/ansible-lint#5163)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5172](ansible/ansible-lint#5172)
- fix: honor warn\_list after --fix rewrites task names  by [@&#8203;santosh7676](https://github.com/santosh7676) in [#&#8203;5085](ansible/ansible-lint#5085)
- feat: support 'example' section in file meta/argument\_specs.yml by [@&#8203;berndfinger](https://github.com/berndfinger) in [#&#8203;5164](ansible/ansible-lint#5164)
- fix: use ThreadPoolExecutor for syntax check workers by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5173](ansible/ansible-lint#5173)
- fix: mock\_modules clobbering collections and args false positives by [@&#8203;djdanielsson](https://github.com/djdanielsson) in [#&#8203;5157](ansible/ansible-lint#5157)
- fix: raise cryptography floor and bump js-yaml for Guardian prod vulns by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5174](ansible/ansible-lint#5174)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5176](ansible/ansible-lint#5176)
- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5175](ansible/ansible-lint#5175)
- fix: preserve blank lines after flow collections by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5178](ansible/ansible-lint#5178)
- perf: cache get\_deps\_versions() result by [@&#8203;BlackDark](https://github.com/BlackDark) in [#&#8203;5113](ansible/ansible-lint#5113)
- fix: inject plain-name mock roles path regardless of --offline by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5183](ansible/ansible-lint#5183)
- fix: resolve include\_tasks paths from playbook dir by [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) in [#&#8203;5184](ansible/ansible-lint#5184)
- fix: add validate\_argspec to play schema by [@&#8203;sameeralam3127](https://github.com/sameeralam3127) in [#&#8203;5187](ansible/ansible-lint#5187)

#### New Contributors

- [@&#8203;shvenkat-rh](https://github.com/shvenkat-rh) made their first contribution in [#&#8203;5149](ansible/ansible-lint#5149)
- [@&#8203;f1047](https://github.com/f1047) made their first contribution in [#&#8203;5103](ansible/ansible-lint#5103)
- [@&#8203;DSeaStar](https://github.com/DSeaStar) made their first contribution in [#&#8203;5153](ansible/ansible-lint#5153)
- [@&#8203;berndfinger](https://github.com/berndfinger) made their first contribution in [#&#8203;5164](ansible/ansible-lint#5164)
- [@&#8203;BlackDark](https://github.com/BlackDark) made their first contribution in [#&#8203;5113](ansible/ansible-lint#5113)
- [@&#8203;sameeralam3127](https://github.com/sameeralam3127) made their first contribution in [#&#8203;5187](ansible/ansible-lint#5187)

**Full Changelog**: <ansible/ansible-lint@v26.8.0...v26.9.0>

### [`v26.8.0`](https://github.com/ansible/ansible-lint/releases/tag/v26.8.0)

[Compare Source](ansible/ansible-lint@v26.6.0...v26.8.0)

#### What's Changed

- Fix/sonarcloud unbounded recursion complexity by [@&#8203;sathyapramod](https://github.com/sathyapramod) in [#&#8203;5098](ansible/ansible-lint#5098)
- feat: honor ANSIBLE\_VAULT\_PASSWORD\_FILE for vault decryption by [@&#8203;JohnLahr](https://github.com/JohnLahr) in [#&#8203;5019](ansible/ansible-lint#5019)
- fix: jinja\[spacing] rule creating invalid syntax for minus modifiers by [@&#8203;Dotify71](https://github.com/Dotify71) in [#&#8203;5102](ansible/ansible-lint#5102)
- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5081](ansible/ansible-lint#5081)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5082](ansible/ansible-lint#5082)
- fix: remove stale words from cspell dictionary by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5109](ansible/ansible-lint#5109)
- chore(deps): bump schemas npm packages for Dependabot CVEs by [@&#8203;sudhirverma](https://github.com/sudhirverma) in [#&#8203;5114](ansible/ansible-lint#5114)
- fix(security): update dependencies \[SECURITY] by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5111](ansible/ansible-lint#5111)
- fix: address SonarCloud new code violations by [@&#8203;sudhirverma](https://github.com/sudhirverma) in [#&#8203;5116](ansible/ansible-lint#5116)
- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5121](ansible/ansible-lint#5121)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5122](ansible/ansible-lint#5122)
- fix(deps): exclude ansible-core 2.17.x (CVE-2026-11332) by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5123](ansible/ansible-lint#5123)
- fix: expose ansible-galaxy on the uv tool-install path by [@&#8203;jeffcpullen](https://github.com/jeffcpullen) in [#&#8203;5124](ansible/ansible-lint#5124)
- fix: var-naming for register projections by [@&#8203;0xTaoZ](https://github.com/0xTaoZ) in [#&#8203;5110](ansible/ansible-lint#5110)
- chore: Adding OpenWrt 25.12 as platform by [@&#8203;sscheib](https://github.com/sscheib) in [#&#8203;5132](ansible/ansible-lint#5132)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5134](ansible/ansible-lint#5134)
- chore(deps): update all dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5133](ansible/ansible-lint#5133)
- fix: add timeout to release-check urlopen() call by [@&#8203;cooperlees](https://github.com/cooperlees) in [#&#8203;5128](ansible/ansible-lint#5128)
- fix: respect ANSIBLE\_HOME env var for cache dir selection ([#&#8203;5806](https://github.com/ansible/ansible-lint/issues/5806)) by [@&#8203;Jkhall81](https://github.com/Jkhall81) in [#&#8203;5105](ansible/ansible-lint#5105)
- fix: deduplicate ANSIBLE\_HOME isolation check by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5140](ansible/ansible-lint#5140)
- fix(security): update dependencies \[SECURITY] by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5141](ansible/ansible-lint#5141)
- fix: do not require role prefix for ansible\_ connection variables by [@&#8203;Sanjays2402](https://github.com/Sanjays2402) in [#&#8203;5130](ansible/ansible-lint#5130)
- Adding missing FreeBSD versions. by [@&#8203;jmpalacios](https://github.com/jmpalacios) in [#&#8203;5143](ansible/ansible-lint#5143)
- chore(deps): update all dependencies pep621 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;5139](ansible/ansible-lint#5139)
- fix: prepend runtime cache dir to collections paths ([#&#8203;5137](ansible/ansible-lint#5137)) by [@&#8203;rockygeekz](https://github.com/rockygeekz) in [#&#8203;5145](ansible/ansible-lint#5145)

#### New Contributors

- [@&#8203;sathyapramod](https://github.com/sathyapramod) made their first contribution in [#&#8203;5098](ansible/ansible-lint#5098)
- [@&#8203;JohnLahr](https://github.com/JohnLahr) made their first contribution in [#&#8203;5019](ansible/ansible-lint#5019)
- [@&#8203;jeffcpullen](https://github.com/jeffcpullen) made their first contribution in [#&#8203;5124](ansible/ansible-lint#5124)
- [@&#8203;0xTaoZ](https://github.com/0xTaoZ) made their first contribution in [#&#8203;5110](ansible/ansible-lint#5110)
- [@&#8203;cooperlees](https://github.com/cooperlees) made their first contribution in [#&#8203;5128](ansible/ansible-lint#5128)
- [@&#8203;Sanjays2402](https://github.com/Sanjays2402) made their first contribution in [#&#8203;5130](ansible/ansible-lint#5130)
- [@&#8203;jmpalacios](https://github.com/jmpalacios) made their first contribution in [#&#8203;5143](ansible/ansible-lint#5143)

**Full Changelog**: <ansible/ansible-lint@v26.6.0...v26.8.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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 [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMDMuNyIsInVwZGF0ZWRJblZlciI6IjQ0LjEwMy43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Reviewed-on: https://git.ivanch.me/ivanch/haven/pulls/17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

jinja[spacing] warning with nested if statements

2 participants