Commit graph

544 commits

Author SHA1 Message Date
Mohamed El Mouctar HAIDARA
49bd898825 doc: release 2.9.0 2025-02-02 00:28:27 +01:00
dependabot[bot]
c7aa4e6c54
chore(deps): update ansible-core requirement from <2.18.2,>=2.16 to >=2.16,<2.18.3 ()
Updates the requirements on
[ansible-core](https://github.com/ansible/ansible) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ansible/ansible/releases">ansible-core's
releases</a>.</em></p>
<blockquote>
<h2>v2.18.2</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.2/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="a7dc8c6042/ansible_core-2.18.2-py3-none-any.whl">ansible_core-2.18.2-py3-none-any.whl</a>
- ‌2216676 bytes
<ul>
<li>c337512d740d9d9606846e1b1620eaaeadccb6dc2e864ce92cb485a8fc1f57f4
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="ccf2e5ac2f/ansible_core-2.18.2.tar.gz">ansible_core-2.18.2.tar.gz</a>
- ‌3076683 bytes
<ul>
<li>725b047d35942304eb322eb934b98cc5442ac3f49d33827d97171c238c4b69b9
(SHA256)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7c5e00274b"><code>7c5e002</code></a>
New release v2.18.2 (<a
href="https://redirect.github.com/ansible/ansible/issues/84615">#84615</a>)</li>
<li><a
href="b4dfc6a660"><code>b4dfc6a</code></a>
Update Ansible release version to v2.18.2rc1.post0. (<a
href="https://redirect.github.com/ansible/ansible/issues/84586">#84586</a>)</li>
<li><a
href="95bf4dd427"><code>95bf4dd</code></a>
New release v2.18.2rc1 (<a
href="https://redirect.github.com/ansible/ansible/issues/84583">#84583</a>)</li>
<li><a
href="ee0084dbcf"><code>ee0084d</code></a>
Ansible.Basic - Fix required_if check (<a
href="https://redirect.github.com/ansible/ansible/issues/84562">#84562</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84582">#84582</a>)</li>
<li><a
href="5f5e5d321b"><code>5f5e5d3</code></a>
ssh - Improve CLIXML stderr parsing (<a
href="https://redirect.github.com/ansible/ansible/issues/84569">#84569</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84580">#84580</a>)</li>
<li><a
href="0d44d0fde4"><code>0d44d0f</code></a>
ansible-test - fix coverage for test modules (<a
href="https://redirect.github.com/ansible/ansible/issues/84366">#84366</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84401">#84401</a>)</li>
<li><a
href="420287e83d"><code>420287e</code></a>
fix incongruent ansible-vault cli options (<a
href="https://redirect.github.com/ansible/ansible/issues/84494">#84494</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84552">#84552</a>)</li>
<li><a
href="3e22739cc8"><code>3e22739</code></a>
fix warnings about reserved variable names to cover all sources (<a
href="https://redirect.github.com/ansible/ansible/issues/84432">#84432</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84">#84</a>...</li>
<li><a
href="2ab0976f0e"><code>2ab0976</code></a>
gather_facts, fix 'smart' handling with network os and 'setup' (<a
href="https://redirect.github.com/ansible/ansible/issues/84425">#84425</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84471">#84471</a>)</li>
<li><a
href="2870532035"><code>2870532</code></a>
Make sure we are always using Lock from our multiprocessing context (<a
href="https://redirect.github.com/ansible/ansible/issues/84453">#84453</a>)
...</li>
<li>Additional commits viewable in <a
href="https://github.com/ansible/ansible/compare/v2.16.0...v2.18.2">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 22:45:19 +01:00
haidaraM
d7a290b4ed Auto lint and format using ruff 2025-02-01 18:24:38 +00:00
dependabot[bot]
88c0e65fd8
chore(deps): bump ruff from 0.8.4 to 0.9.4 ()
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.4 to 0.9.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.9.4</h2>
<h2>Release Notes</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Extend airflow context parameter check for
<code>BaseOperator.execute</code> (<code>AIR302</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15713">#15713</a>)</li>
<li>[<code>airflow</code>] Update <code>AIR302</code> to check for
deprecated context keys (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15144">#15144</a>)</li>
<li>[<code>flake8-bandit</code>] Permit suspicious imports within stub
files (<code>S4</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15822">#15822</a>)</li>
<li>[<code>pylint</code>] Do not trigger <code>PLR6201</code> on empty
collections (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15732">#15732</a>)</li>
<li>[<code>refurb</code>] Do not emit diagnostic when loop variables are
used outside loop body (<code>FURB122</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15757">#15757</a>)</li>
<li>[<code>ruff</code>] Add support for more <code>re</code> patterns
(<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15764">#15764</a>)</li>
<li>[<code>ruff</code>] Check for shadowed <code>map</code> before
suggesting fix (<code>RUF058</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15790">#15790</a>)</li>
<li>[<code>ruff</code>] Do not emit diagnostic when all arguments to
<code>zip()</code> are variadic (<code>RUF058</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15744">#15744</a>)</li>
<li>[<code>ruff</code>] Parenthesize fix when argument spans multiple
lines for <code>unnecessary-round</code> (<code>RUF057</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15703">#15703</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Preserve quote style in generated code (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15726">#15726</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/15778">#15778</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/15794">#15794</a>)</li>
<li>[<code>flake8-bugbear</code>] Exempt <code>NewType</code> calls
where the original type is immutable (<code>B008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15765">#15765</a>)</li>
<li>[<code>pylint</code>] Honor banned top-level imports by
<code>TID253</code> in <code>PLC0415</code>. (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15628">#15628</a>)</li>
<li>[<code>pyupgrade</code>] Ignore <code>is_typeddict</code> and
<code>TypedDict</code> for <code>deprecated-import</code>
(<code>UP035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15800">#15800</a>)</li>
</ul>
<h3>CLI</h3>
<ul>
<li>Fix formatter warning message for <code>flake8-quotes</code> option
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/15788">#15788</a>)</li>
<li>Implement tab autocomplete for <code>ruff config</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15603">#15603</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>flake8-comprehensions</code>] Do not emit
<code>unnecessary-map</code> diagnostic when lambda has different arity
(<code>C417</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15802">#15802</a>)</li>
<li>[<code>flake8-comprehensions</code>] Parenthesize
<code>sorted</code> when needed for
<code>unnecessary-call-around-sorted</code> (<code>C413</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15825">#15825</a>)</li>
<li>[<code>pyupgrade</code>] Handle end-of-line comments for
<code>quoted-annotation</code> (<code>UP037</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15824">#15824</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add missing config docstrings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15803">#15803</a>)</li>
<li>Add references to <code>trio.run_process</code> and
<code>anyio.run_process</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15761">#15761</a>)</li>
<li>Use <code>uv init --lib</code> in tutorial (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15718">#15718</a>)</li>
</ul>
<h2>Contributors</h2>
<ul>
<li><a
href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li>
<li><a
href="https://github.com/Garrett-R"><code>@​Garrett-R</code></a></li>
<li><a
href="https://github.com/InSyncWithFoo"><code>@​InSyncWithFoo</code></a></li>
<li><a
href="https://github.com/JelleZijlstra"><code>@​JelleZijlstra</code></a></li>
<li><a href="https://github.com/Lee-W"><code>@​Lee-W</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/charliermarsh"><code>@​charliermarsh</code></a></li>
<li><a
href="https://github.com/dcreager"><code>@​dcreager</code></a></li>
<li><a
href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a href="https://github.com/dylwil3"><code>@​dylwil3</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.9.4</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Extend airflow context parameter check for
<code>BaseOperator.execute</code> (<code>AIR302</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15713">#15713</a>)</li>
<li>[<code>airflow</code>] Update <code>AIR302</code> to check for
deprecated context keys (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15144">#15144</a>)</li>
<li>[<code>flake8-bandit</code>] Permit suspicious imports within stub
files (<code>S4</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15822">#15822</a>)</li>
<li>[<code>pylint</code>] Do not trigger <code>PLR6201</code> on empty
collections (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15732">#15732</a>)</li>
<li>[<code>refurb</code>] Do not emit diagnostic when loop variables are
used outside loop body (<code>FURB122</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15757">#15757</a>)</li>
<li>[<code>ruff</code>] Add support for more <code>re</code> patterns
(<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15764">#15764</a>)</li>
<li>[<code>ruff</code>] Check for shadowed <code>map</code> before
suggesting fix (<code>RUF058</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15790">#15790</a>)</li>
<li>[<code>ruff</code>] Do not emit diagnostic when all arguments to
<code>zip()</code> are variadic (<code>RUF058</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15744">#15744</a>)</li>
<li>[<code>ruff</code>] Parenthesize fix when argument spans multiple
lines for <code>unnecessary-round</code> (<code>RUF057</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15703">#15703</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Preserve quote style in generated code (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15726">#15726</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/15778">#15778</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/15794">#15794</a>)</li>
<li>[<code>flake8-bugbear</code>] Exempt <code>NewType</code> calls
where the original type is immutable (<code>B008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15765">#15765</a>)</li>
<li>[<code>pylint</code>] Honor banned top-level imports by
<code>TID253</code> in <code>PLC0415</code>. (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15628">#15628</a>)</li>
<li>[<code>pyupgrade</code>] Ignore <code>is_typeddict</code> and
<code>TypedDict</code> for <code>deprecated-import</code>
(<code>UP035</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15800">#15800</a>)</li>
</ul>
<h3>CLI</h3>
<ul>
<li>Fix formatter warning message for <code>flake8-quotes</code> option
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/15788">#15788</a>)</li>
<li>Implement tab autocomplete for <code>ruff config</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15603">#15603</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>flake8-comprehensions</code>] Do not emit
<code>unnecessary-map</code> diagnostic when lambda has different arity
(<code>C417</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15802">#15802</a>)</li>
<li>[<code>flake8-comprehensions</code>] Parenthesize
<code>sorted</code> when needed for
<code>unnecessary-call-around-sorted</code> (<code>C413</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15825">#15825</a>)</li>
<li>[<code>pyupgrade</code>] Handle end-of-line comments for
<code>quoted-annotation</code> (<code>UP037</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15824">#15824</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add missing config docstrings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15803">#15803</a>)</li>
<li>Add references to <code>trio.run_process</code> and
<code>anyio.run_process</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15761">#15761</a>)</li>
<li>Use <code>uv init --lib</code> in tutorial (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15718">#15718</a>)</li>
</ul>
<h2>0.9.3</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Argument <code>fail_stop</code> in DAG has
been renamed as <code>fail_fast</code> (<code>AIR302</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15633">#15633</a>)</li>
<li>[<code>airflow</code>] Extend <code>AIR303</code> with more symbols
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/15611">#15611</a>)</li>
<li>[<code>flake8-bandit</code>] Report all references to suspicious
functions (<code>S3</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15541">#15541</a>)</li>
<li>[<code>flake8-pytest-style</code>] Do not emit diagnostics for empty
<code>for</code> loops (<code>PT012</code>, <code>PT031</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15542">#15542</a>)</li>
<li>[<code>flake8-simplify</code>] Avoid double negations
(<code>SIM103</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15562">#15562</a>)</li>
<li>[<code>pyflakes</code>] Fix infinite loop with unused local import
in <code>__init__.py</code> (<code>F401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15517">#15517</a>)</li>
<li>[<code>pylint</code>] Do not report methods with only one
<code>EM101</code>-compatible <code>raise</code> (<code>PLR6301</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/15507">#15507</a>)</li>
<li>[<code>pylint</code>] Implement
<code>redefined-slots-in-subclass</code> (<code>W0244</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/9640">#9640</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="854ab03078"><code>854ab03</code></a>
Bump version to 0.9.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15831">#15831</a>)</li>
<li><a
href="b0b8b06241"><code>b0b8b06</code></a>
Remove semicolon after TypeScript interface definition (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15827">#15827</a>)</li>
<li><a
href="451f251a31"><code>451f251</code></a>
[red-knot] Clarify behavior when redeclaring base class attributes (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15826">#15826</a>)</li>
<li><a
href="13cf3e65f1"><code>13cf3e6</code></a>
[<code>flake8-comprehensions</code>] Parenthesize <code>sorted</code>
when needed for `unnecessary-...</li>
<li><a
href="56f956a238"><code>56f956a</code></a>
[<code>pyupgrade</code>] Handle end-of-line comments for
<code>quoted-annotation</code> (<code>UP037</code>) (...</li>
<li><a
href="7a10a40b0d"><code>7a10a40</code></a>
[<code>flake8-bandit</code>] Permit suspicious imports within stub files
(<code>S4</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15822">#15822</a>)</li>
<li><a
href="3125332ec1"><code>3125332</code></a>
[red-knot] Format mdtest snippets with the latest version of black (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15819">#15819</a>)</li>
<li><a
href="15d886a502"><code>15d886a</code></a>
[red-knot] Consider all definitions after terminal statements
unreachable (<a
href="https://redirect.github.com/astral-sh/ruff/issues/1">#1</a>...</li>
<li><a
href="e1c9d10863"><code>e1c9d10</code></a>
[<code>flake8-comprehensions</code>] Do not emit
<code>unnecessary-map</code> diagnostic when lambd...</li>
<li><a
href="23c98849fc"><code>23c9884</code></a>
Preserve quotes in generated f-strings (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15794">#15794</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.8.4...0.9.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.8.4&new-version=0.9.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-01 19:24:23 +01:00
Mohamed El Mouctar Haidara
3af642fa4e
feat: Improve support for Ansible handlers ()
Related to  and 

References:

-
https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_handlers.html
-
https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse.html
-
https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html
-
https://docs.ansible.com/ansible/2.9/user_guide/playbooks_reuse_includes.html


## TODOs

- [x] Make sure the graph representation and the post processor consider
the handlers to highlight the nodes on hover.
- [x] Add tests for the number of edges in the graph.
- [x] Make the handlers in the roles are available at the play level and
we can get a handler using `role_name : handler_name`.
- [x] Update the mermaid renderer to draw the handlers.
2025-01-25 00:03:55 +01:00
Mohamed El Mouctar HAIDARA
b300a2c777 fix: use the correction dev version 2025-01-02 22:48:28 +01:00
Mohamed El Mouctar HAIDARA
09e009787f doc: prepare next releases 2025-01-02 22:45:28 +01:00
Mohamed El Mouctar HAIDARA
f5503117df doc: release 2.8.0 2025-01-01 20:32:59 +01:00
dependabot[bot]
3416f50765
chore(deps): bump ruff from 0.8.1 to 0.8.4 ()
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.1 to 0.8.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.8.4</h2>
<h2>Release Notes</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Extend <code>AIR302</code> with additional
functions and classes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15015">#15015</a>)</li>
<li>[<code>airflow</code>] Implement <code>moved-to-provider-in-3</code>
for modules that has been moved to Airflow providers
(<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14764">#14764</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Extend check for invalid path
suffix to include the case <code>&quot;.&quot;</code>
(<code>PTH210</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14902">#14902</a>)</li>
<li>[<code>perflint</code>] Fix panic in <code>PERF401</code> when list
variable is after the <code>for</code> loop (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14971">#14971</a>)</li>
<li>[<code>perflint</code>] Simplify finding the loop target in
<code>PERF401</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15025">#15025</a>)</li>
<li>[<code>pylint</code>] Preserve original value format
(<code>PLR6104</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14978">#14978</a>)</li>
<li>[<code>ruff</code>] Avoid false positives for <code>RUF027</code>
for typing context bindings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15037">#15037</a>)</li>
<li>[<code>ruff</code>] Check for ambiguous pattern passed to
<code>pytest.raises()</code> (<code>RUF043</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14966">#14966</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-bandit</code>] Check <code>S105</code> for annotated
assignment (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15059">#15059</a>)</li>
<li>[<code>flake8-pyi</code>] More autofixes for
<code>redundant-none-literal</code> (<code>PYI061</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14872">#14872</a>)</li>
<li>[<code>pydocstyle</code>] Skip leading whitespace for
<code>D403</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14963">#14963</a>)</li>
<li>[<code>ruff</code>] Skip <code>SQLModel</code> base classes for
<code>mutable-class-default</code> (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14949">#14949</a>)</li>
</ul>
<h3>Bug</h3>
<ul>
<li>[<code>perflint</code>] Parenthesize walrus expressions in autofix
for <code>manual-list-comprehension</code> (<code>PERF401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15050">#15050</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Check diagnostic refresh support from client capability which
enables dynamic configuration for various editors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15014">#15014</a>)</li>
</ul>
<h2>Contributors</h2>
<ul>
<li><a
href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li>
<li><a
href="https://github.com/Daverball"><code>@​Daverball</code></a></li>
<li><a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a></li>
<li><a
href="https://github.com/InSyncWithFoo"><code>@​InSyncWithFoo</code></a></li>
<li><a href="https://github.com/Lee-W"><code>@​Lee-W</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/TheBits"><code>@​TheBits</code></a></li>
<li><a
href="https://github.com/cake-monotone"><code>@​cake-monotone</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/dcreager"><code>@​dcreager</code></a></li>
<li><a
href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a href="https://github.com/dylwil3"><code>@​dylwil3</code></a></li>
<li><a
href="https://github.com/github-actions"><code>@​github-actions</code></a></li>
<li><a
href="https://github.com/kiran-4444"><code>@​kiran-4444</code></a></li>
<li><a
href="https://github.com/krishnan-chandra"><code>@​krishnan-chandra</code></a></li>
<li><a
href="https://github.com/rchen152"><code>@​rchen152</code></a></li>
<li><a
href="https://github.com/renovate"><code>@​renovate</code></a></li>
<li><a href="https://github.com/sharkdp"><code>@​sharkdp</code></a></li>
<li><a
href="https://github.com/tarasmatsyk"><code>@​tarasmatsyk</code></a></li>
<li><a
href="https://github.com/w0nder1ng"><code>@​w0nder1ng</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.8.4</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>airflow</code>] Extend <code>AIR302</code> with additional
functions and classes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15015">#15015</a>)</li>
<li>[<code>airflow</code>] Implement <code>moved-to-provider-in-3</code>
for modules that has been moved to Airflow providers
(<code>AIR303</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14764">#14764</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Extend check for invalid path
suffix to include the case <code>&quot;.&quot;</code>
(<code>PTH210</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14902">#14902</a>)</li>
<li>[<code>perflint</code>] Fix panic in <code>PERF401</code> when list
variable is after the <code>for</code> loop (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14971">#14971</a>)</li>
<li>[<code>perflint</code>] Simplify finding the loop target in
<code>PERF401</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15025">#15025</a>)</li>
<li>[<code>pylint</code>] Preserve original value format
(<code>PLR6104</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14978">#14978</a>)</li>
<li>[<code>ruff</code>] Avoid false positives for <code>RUF027</code>
for typing context bindings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15037">#15037</a>)</li>
<li>[<code>ruff</code>] Check for ambiguous pattern passed to
<code>pytest.raises()</code> (<code>RUF043</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14966">#14966</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-bandit</code>] Check <code>S105</code> for annotated
assignment (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15059">#15059</a>)</li>
<li>[<code>flake8-pyi</code>] More autofixes for
<code>redundant-none-literal</code> (<code>PYI061</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14872">#14872</a>)</li>
<li>[<code>pydocstyle</code>] Skip leading whitespace for
<code>D403</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14963">#14963</a>)</li>
<li>[<code>ruff</code>] Skip <code>SQLModel</code> base classes for
<code>mutable-class-default</code> (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14949">#14949</a>)</li>
</ul>
<h3>Bug</h3>
<ul>
<li>[<code>perflint</code>] Parenthesize walrus expressions in autofix
for <code>manual-list-comprehension</code> (<code>PERF401</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15050">#15050</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Check diagnostic refresh support from client capability which
enables dynamic configuration for various editors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/15014">#15014</a>)</li>
</ul>
<h2>0.8.3</h2>
<h3>Preview features</h3>
<ul>
<li>Fix fstring formatting removing overlong implicit concatenated
string in expression part (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14811">#14811</a>)</li>
<li>[<code>airflow</code>] Add fix to remove deprecated keyword
arguments (<code>AIR302</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14887">#14887</a>)</li>
<li>[<code>airflow</code>]: Extend rule to include deprecated names for
Airflow 3.0 (<code>AIR302</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14765">#14765</a>
and <a
href="https://redirect.github.com/astral-sh/ruff/pull/14804">#14804</a>)</li>
<li>[<code>flake8-bugbear</code>] Improve error messages for
<code>except*</code> (<code>B025</code>, <code>B029</code>,
<code>B030</code>, <code>B904</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14815">#14815</a>)</li>
<li>[<code>flake8-bugbear</code>] <code>itertools.batched()</code>
without explicit <code>strict</code> (<code>B911</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14408">#14408</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Dotless suffix passed to
<code>Path.with_suffix()</code> (<code>PTH210</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14779">#14779</a>)</li>
<li>[<code>pylint</code>] Include parentheses and multiple comparators
in check for <code>boolean-chained-comparison</code>
(<code>PLR1716</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14781">#14781</a>)</li>
<li>[<code>ruff</code>] Do not simplify <code>round()</code> calls
(<code>RUF046</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14832">#14832</a>)</li>
<li>[<code>ruff</code>] Don't emit <code>used-dummy-variable</code> on
function parameters (<code>RUF052</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14818">#14818</a>)</li>
<li>[<code>ruff</code>] Implement <code>if-key-in-dict-del</code>
(<code>RUF051</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14553">#14553</a>)</li>
<li>[<code>ruff</code>] Mark autofix for <code>RUF052</code> as always
unsafe (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14824">#14824</a>)</li>
<li>[<code>ruff</code>] Teach autofix for
<code>used-dummy-variable</code> about TypeVars etc.
(<code>RUF052</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14819">#14819</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-bugbear</code>] Offer unsafe autofix for
<code>no-explicit-stacklevel</code> (<code>B028</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14829">#14829</a>)</li>
<li>[<code>flake8-pyi</code>] Skip all type definitions in
<code>string-or-bytes-too-long</code> (<code>PYI053</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14797">#14797</a>)</li>
<li>[<code>pyupgrade</code>] Do not report when a UTF-8 comment is
followed by a non-UTF-8 one (<code>UP009</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14728">#14728</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3bb0dac235"><code>3bb0dac</code></a>
Bump version to 0.8.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15064">#15064</a>)</li>
<li><a
href="40cba5dc8a"><code>40cba5d</code></a>
[red-knot] Cleanup various <code>todo_type!()</code> messages (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15063">#15063</a>)</li>
<li><a
href="596d80cc8e"><code>596d80c</code></a>
[<code>perflint</code>] Parenthesize walrus expressions in autofix for
`manual-list-comp...</li>
<li><a
href="d8b9a366c8"><code>d8b9a36</code></a>
Disable actionlint hook by default when running pre-commit locally (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15061">#15061</a>)</li>
<li><a
href="85e71ba91a"><code>85e71ba</code></a>
[<code>flake8-bandit</code>] Check <code>S105</code> for annotated
assignment (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15059">#15059</a>)</li>
<li><a
href="2802cbde29"><code>2802cbd</code></a>
Don't special-case class instances in unary expression inference (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15045">#15045</a>)</li>
<li><a
href="ed2bce6ebb"><code>ed2bce6</code></a>
[red-knot] Report invalid exceptions (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15042">#15042</a>)</li>
<li><a
href="f0012df686"><code>f0012df</code></a>
Fix typos in <code>RUF043.py</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/15044">#15044</a>)</li>
<li><a
href="0fc4e8f795"><code>0fc4e8f</code></a>
Introduce <code>InferContext</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14956">#14956</a>)</li>
<li><a
href="ac81c72bf3"><code>ac81c72</code></a>
[<code>ruff</code>] Ambiguous pattern passed to
<code>pytest.raises()</code> (<code>RUF043</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14966">#14966</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.8.1...0.8.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.8.1&new-version=0.8.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 17:57:09 +01:00
haidaraM
ce33818cc4 Auto lint and format using ruff 2025-01-01 11:08:16 +00:00
Mohamed El Mouctar HAIDARA
8931b8eeb4 improvement: Hide instead of remove the plays without roles 2025-01-01 12:07:52 +01:00
Mohamed El Mouctar HAIDARA
5fca79ed0b fix --only-roles with tags, add a new is_hidden field to the Nodes 2024-12-31 18:29:40 +01:00
Mohamed El Mouctar Haidara
26862f9aa2
fix: Remove empty blocks, fix index + rename some methods ()
- Empty blocks are no longer added to the graph.
 - Tasks in role should not have the `[task]` as a prefix.
- `Node.index` can be `None`. This mean they will not be added to the
graph (for graphviz and mermaid).
 - Fix `CompositeNode.is_empty()`
2024-12-31 00:22:32 +01:00
Mohamed El Mouctar HAIDARA
b68c8815f3 docs: copyright, changelog, handlers warning [ci skip] 2024-12-29 22:41:55 +01:00
Mohamed El Mouctar HAIDARA
3932ee6406 docs: Add PyPI download badge [ci skip] 2024-12-29 22:17:51 +01:00
Mohamed El Mouctar Haidara
b94a8b6ebc
doc/tests: import_role doesn't have the same behavior as include_role ()
Ansible executor engine treats them very differently:

- All `import*` statements are pre-processed at the time playbooks are
parsed.
- All `include*` statements are processed as they are encountered during
the execution of the playbook.

From
https://docs.ansible.com/ansible/2.9/user_guide/playbooks_reuse_includes.html

---

What does mean for you: The tasks imported by an `import_role` are now
**always added** to the graph regardless of the usage of
`--include-role-tasks`. This behavior was introduced by . Since the
`import*` statements are pre-processed when the playbook is parsed, it's
not trivial to know the tasks are from an `import_role`. I might
eventually change this if people want the same output as the
`include_role` (a dedicated note for the import role as well).

## Example

From this playbook:

```yaml
# tmp.yml
---
  - hosts: all
    tags:
      - play1
    roles:
      - role: fake_role
        tags:
          - role_tag

    tasks:
      - name: Hello world
        debug:
          msg: Hello world
      - name: Import role
        import_role:
          name: display_some_facts
```

**Before:**

```mermaid
---
title: "ansible-playbook-grapher tmp.yml --renderer mermaid-flowchart"
---
%%{ init: { "flowchart": { "curve": "bumpX" } } }%%
flowchart LR
	%% Start of the playbook 'tmp.yml'
	playbook_338db25c("tmp.yml")
		%% Start of the play 'Play: all (0)'
		play_4f34a3fe["Play: all (0)"]
		style play_4f34a3fe fill:#bd0faa,color:#ffffff
		playbook_338db25c --> |"1"| play_4f34a3fe
		linkStyle 0 stroke:#bd0faa,color:#bd0faa
			%% Start of the role 'display_some_facts'
			play_4f34a3fe --> |"1"| role_ef0c80d6
			linkStyle 1 stroke:#bd0faa,color:#bd0faa
			role_ef0c80d6(["[role] display_some_facts"])
			style role_ef0c80d6 fill:#bd0faa,color:#ffffff,stroke:#bd0faa
			%% End of the role 'display_some_facts'
		%% End of the play 'Play: all (0)'
	%% End of the playbook 'tmp.yml'
```

```mermaid
---
title: "ansible-playbook-grapher tmp.yml --renderer mermaid-flowchart --view --include-role-tasks"
---
%%{ init: { "flowchart": { "curve": "bumpX" } } }%%
flowchart LR
	%% Start of the playbook 'tmp.yml'
	playbook_78d5da07("tmp.yml")
		%% Start of the play 'Play: all (0)'
		play_7d50a25e["Play: all (0)"]
		style play_7d50a25e fill:#1789b5,color:#ffffff
		playbook_78d5da07 --> |"1"| play_7d50a25e
		linkStyle 0 stroke:#1789b5,color:#1789b5
			%% Start of the role 'display_some_facts'
			play_7d50a25e --> |"1"| role_922b8a5b
			linkStyle 1 stroke:#1789b5,color:#1789b5
			role_922b8a5b(["[role] display_some_facts"])
			style role_922b8a5b fill:#1789b5,color:#ffffff,stroke:#1789b5
				task_99e90bea[" display_some_facts : ansible_architecture"]
				style task_99e90bea stroke:#1789b5,fill:#ffffff
				role_922b8a5b --> |"1"| task_99e90bea
				linkStyle 2 stroke:#1789b5,color:#1789b5
				task_20bff001[" display_some_facts : ansible_date_time"]
				style task_20bff001 stroke:#1789b5,fill:#ffffff
				role_922b8a5b --> |"2"| task_20bff001
				linkStyle 3 stroke:#1789b5,color:#1789b5
				task_613c1ada[" display_some_facts : Specific included task for Debian"]
				style task_613c1ada stroke:#1789b5,fill:#ffffff
				role_922b8a5b --> |"3"| task_613c1ada
				linkStyle 4 stroke:#1789b5,color:#1789b5
			%% End of the role 'display_some_facts'
			task_20de4095["[task]  display_some_facts : ansible_architecture"]
			style task_20de4095 stroke:#1789b5,fill:#ffffff
			play_7d50a25e --> |"2"| task_20de4095
			linkStyle 5 stroke:#1789b5,color:#1789b5
			task_bfce1de4["[task]  display_some_facts : ansible_date_time"]
			style task_bfce1de4 stroke:#1789b5,fill:#ffffff
			play_7d50a25e --> |"3"| task_bfce1de4
			linkStyle 6 stroke:#1789b5,color:#1789b5
			task_02381dee["[task]  display_some_facts : Specific included task for Debian"]
			style task_02381dee stroke:#1789b5,fill:#ffffff
			play_7d50a25e --> |"4"| task_02381dee
			linkStyle 7 stroke:#1789b5,color:#1789b5
		%% End of the play 'Play: all (0)'
	%% End of the playbook 'tmp.yml'
```

**After:**

```mermaid
---
title: "ansible-playbook-grapher tmp.yml --renderer mermaid-flowchart"
---
%%{ init: { "flowchart": { "curve": "bumpX" } } }%%
flowchart LR
    %% Start of the playbook 'tmp.yml'
    playbook_c9ae5c72("tmp.yml")
        %% Start of the play 'play  (all): 0'
        play_60a19b59["play  (all): 0"]
        style play_60a19b59 stroke:#2332a9,fill:#2332a9,color:#ffffff
        playbook_c9ae5c72 --> |"1"| play_60a19b59
        linkStyle 0 stroke:#2332a9,color:#2332a9
            %% Start of the role '[role] display_some_facts'
            play_60a19b59 --> |"1"| role_1f6f5a46
            linkStyle 1 stroke:#2332a9,color:#2332a9
            role_1f6f5a46(["[role] display_some_facts"])
            style role_1f6f5a46 fill:#2332a9,color:#ffffff,stroke:#2332a9
            %% End of the role '[role] display_some_facts'
            task_3a6c65d1["[task] display_some_facts : ansible_architecture"]
            style task_3a6c65d1 stroke:#2332a9,fill:#ffffff
            play_60a19b59 --> |"2"| task_3a6c65d1
            linkStyle 2 stroke:#2332a9,color:#2332a9
            task_166c627a["[task] display_some_facts : ansible_date_time"]
            style task_166c627a stroke:#2332a9,fill:#ffffff
            play_60a19b59 --> |"3"| task_166c627a
            linkStyle 3 stroke:#2332a9,color:#2332a9
            task_49929d0c["[task] display_some_facts : Specific included task for Debian"]
            style task_49929d0c stroke:#2332a9,fill:#ffffff
            play_60a19b59 --> |"4"| task_49929d0c
            linkStyle 4 stroke:#2332a9,color:#2332a9
        %% End of the play 'play  (all): 0'
    %% End of the playbook 'tmp.yml'
```


```mermaid
---
title: "ansible-playbook-grapher tmp.yml --renderer mermaid-flowchart --view --include-role-tasks"
---
%%{ init: { "flowchart": { "curve": "bumpX" } } }%%
flowchart LR
	%% Start of the playbook 'tmp.yml'
	playbook_e3c77447("tmp.yml")
		%% Start of the play 'play  (all): 0'
		play_dcbd8814["play  (all): 0"]
		style play_dcbd8814 stroke:#9b3181,fill:#9b3181,color:#ffffff
		playbook_e3c77447 --> |"1"| play_dcbd8814
		linkStyle 0 stroke:#9b3181,color:#9b3181
			%% Start of the role '[role] display_some_facts'
			play_dcbd8814 --> |"1"| role_91c83316
			linkStyle 1 stroke:#9b3181,color:#9b3181
			role_91c83316(["[role] display_some_facts"])
			style role_91c83316 fill:#9b3181,color:#ffffff,stroke:#9b3181
				task_d39cd275["[task] display_some_facts : ansible_architecture"]
				style task_d39cd275 stroke:#9b3181,fill:#ffffff
				role_91c83316 --> |"1"| task_d39cd275
				linkStyle 2 stroke:#9b3181,color:#9b3181
				task_0249518a["[task] display_some_facts : ansible_date_time"]
				style task_0249518a stroke:#9b3181,fill:#ffffff
				role_91c83316 --> |"2"| task_0249518a
				linkStyle 3 stroke:#9b3181,color:#9b3181
				task_7607b70a["[task] display_some_facts : Specific included task for Debian"]
				style task_7607b70a stroke:#9b3181,fill:#ffffff
				role_91c83316 --> |"3"| task_7607b70a
				linkStyle 4 stroke:#9b3181,color:#9b3181
			%% End of the role '[role] display_some_facts'
			task_fd594a53["[task] display_some_facts : ansible_architecture"]
			style task_fd594a53 stroke:#9b3181,fill:#ffffff
			play_dcbd8814 --> |"2"| task_fd594a53
			linkStyle 5 stroke:#9b3181,color:#9b3181
			task_ead21629["[task] display_some_facts : ansible_date_time"]
			style task_ead21629 stroke:#9b3181,fill:#ffffff
			play_dcbd8814 --> |"3"| task_ead21629
			linkStyle 6 stroke:#9b3181,color:#9b3181
			task_30dda673["[task] display_some_facts : Specific included task for Debian"]
			style task_30dda673 stroke:#9b3181,fill:#ffffff
			play_dcbd8814 --> |"4"| task_30dda673
			linkStyle 7 stroke:#9b3181,color:#9b3181
		%% End of the play 'play  (all): 0'
	%% End of the playbook 'tmp.yml'


```
2024-12-29 22:14:25 +01:00
Mohamed El Mouctar HAIDARA
153ded8754 improvement: Make the play node label like what "ansible-playbook --list-tasks" show 2024-12-29 01:37:35 +01:00
Mohamed El Mouctar Haidara
19592cc1b9
fix: The playbook location.path should be the absolute path + use local paths when testing () 2024-12-29 01:05:41 +01:00
Mohamed El Mouctar HAIDARA
e9efc99743 tests: Ensure the tasks in an include don't inherit the condition 2024-12-29 00:44:36 +01:00
Mohamed El Mouctar Haidara
1f0ed3cc17
fix: Properly handle tags on roles (+ refactor) ()
Related to 

- fix: The tags on the role itself should not be evaluated. Instead,
what we care about is the tasks (they inherit the tags set on the
roles). More info
[here.](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_tags.html#adding-tags-to-roles)
- "Empty roles" are no longer displayed by default. An empty role is a
role with no tasks (after applying the tags filters for example). This
is the same behavior as the option `--hide-empty-plays` but with roles.
**I will eventually drop `--hide-empty-plays` to make this the default
behavior in the future.**
- docs: Add a comparison matrix for the different renderers
- (Internal) Moved some flags out of the parser to the renderer instead.
The whole playbook and all the tasks and roles (except the excluded
ones) are always parsed. The renderer(s) will decide later what do based
on the flags
2024-12-28 16:42:10 +01:00
Mohamed El Mouctar HAIDARA
1e27862355 feat: Add the CLI args as the graph title during test + double quote mermaid title 2024-12-25 23:32:08 +01:00
Mohamed El Mouctar HAIDARA
f062d3cd18 docs: Update examples in the readme [ci skip] 2024-12-24 11:32:23 +01:00
Mohamed El Mouctar Haidara
f912354054
feat: Add a new option --title to add a title to the graph () 2024-12-24 11:26:53 +01:00
Mohamed El Mouctar HAIDARA
196191d535 docs: fix testing badge in the README [ci skip] 2024-12-23 21:18:32 +01:00
Mohamed El Mouctar HAIDARA
3722092092 doc: prepare for the next release 2024-12-22 23:23:12 +01:00
Mohamed El Mouctar Haidara
df7be04e6a
feat: Add initial support for handlers ()
Related  


- Add the handlers to the graph with `--show-handlers`. **This is the
initial support for handlers.** They are by default added at the end of
the play and roles only. This doesn't reflect Ansible behavior.
- Changes the shape of the graphviz node to make it consistent with
Mermaid. The tasks will be rectangle instead of `octagon`:
https://graphviz.org/doc/info/shapes.html
- Refactor how the node/task index are computed given we can now add
handlers after all the tasks are parsed.
- Add a new `display_name()` method to the node for a friendly name for
the graph. This removes the of passing the `node_label_prefix` in
multiple places.
- Remove the class **CompositeTasksNode** as it is no longer needed
anymore.
- Remove the play name from the edge going from playbook to the plays.
This was not consistent with the other edges.
2024-12-22 23:13:38 +01:00
Mohamed El Mouctar HAIDARA
5ccfed2ea3 doc: release 2.7.0 2024-12-22 12:18:40 +01:00
Mohamed El Mouctar Haidara
25346def01
fix: Blocks inside roles weren't added to the graph ()
Related to 
2024-12-20 18:41:35 +01:00
Mohamed El Mouctar Haidara
c0b5aa5686
refactor: Use a single method to get all nodes of a given type () 2024-12-19 23:19:59 +01:00
haidaraM
b163f53faa Auto lint and format using ruff 2024-12-18 23:44:09 +00:00
David Merkl
42195b4f6e
feat: Add support for excluding specific roles in the graph view ()
## Premise
When running the ansible-playbook-grapher on a project folder, where a
certain role is referenced by a lot of other roles or tasks then the
resulting graph might be confusing especially when grouping the roles by
their names (a lot of arrows crossing each other). So far there was no
option to exclude specific roles from the graph view, so I implemented a
feature for this.

## Changes
- Add entry for the new option ```--exclude-roles``` in README.md
- Add the option and post processing in ```cli.py``` and adjust
```grapher.py``` and ```parser.py``` accordingly
- Update docstrings accordingly
- Add logic to exclude certain roles from being rendered
- Lint project with the corresponding make target
- Add cli and parser tests
- Add methods in ```graph_model.py``` to get all roles of a composite
role (needed for the additional tests)

## Screenshots
without ```--exclude-roles```

![group-roles-by-name](https://github.com/user-attachments/assets/d23d384c-d33d-45a6-97a4-b2e300f1968f)

with ```--exclude-roles fake_role```

![group-roles-by-name-wout-fake_role](https://github.com/user-attachments/assets/30aee2a8-7639-475a-a016-5c963b09cc4f)

---------

Co-authored-by: David Merkl <dme@ordix.de>
Co-authored-by: Mohamed El Mouctar Haidara <elmhaidara@gmail.com>
2024-12-19 00:43:43 +01:00
Mohamed El Mouctar HAIDARA
8d0099db97 doc: release 2.6.0 2024-12-16 23:49:25 +01:00
Mohamed El Mouctar HAIDARA
6f6ff000e7 doc: Update changelog [ci skip] 2024-12-15 17:25:19 +01:00
Mohamed El Mouctar Haidara
68e41a6ad1
fix: Increase Ansible and Python compatibility range to [2.16, 2.18.2[ () 2024-12-13 22:42:24 +01:00
Mohamed El Mouctar HAIDARA
a1908bfac7 doc: update changelog [ci skip] 2024-12-13 22:27:19 +01:00
Mohamed El Mouctar Haidara
dd126e5867
fix: Tasks in 'include_role' were being wrongly included in the graph by default () 2024-12-13 22:26:03 +01:00
Mohamed El Mouctar HAIDARA
d09fd66d5f docs: prepare the next release 2.6.0 2024-12-10 23:46:54 +01:00
Mohamed El Mouctar HAIDARA
a5d7229c52 docs: Update CHANGELOG.md for 2.5.1 to reflect the actual change
The PR title wasn't updated after the change
2024-12-10 23:42:27 +01:00
haidaraM
f796c8a132 Auto lint and format using ruff 2024-12-10 22:04:16 +00:00
David Merkl
38bfcc775a
feat: Add support for ignoring standalone tasks and role tasks in the graph view ()
## Premise
When running the ansible-playbook-grapher on a huge project folder the
resulting svg or mermaid graph happens to be quiet confusing with all
the task nodes being rendered. So far there was no option to view all
roles (also nested roles) without viewing the corresponding tasks, so I
implemented a feature to do exactly that.

## Changes
- Add entry for the new option ```--only-roles``` in README.md
- Add the option in ```cli.py``` and adjust ```grapher.py``` and
```parser.py``` accordingly
- Update docstrings accordingly
- Add logic to prevent tasks from being added
- Lint project with the corresponding make target
- Add cli and parser tests

## Screenshots
without ```--only-roles```

![group-roles-by-name](https://github.com/user-attachments/assets/4b5277fe-636c-45b3-b35b-675b11e0f8de)
with ```--only-roles```

![group-roles-by-name-only-roles](https://github.com/user-attachments/assets/1214b3c1-9f8f-4347-9759-83fe74e03f64)

---------

Co-authored-by: David Merkl <dme@ordix.de>
Co-authored-by: Mohamed El Mouctar Haidara <elmhaidara@gmail.com>
2024-12-10 23:03:58 +01:00
Mohamed El Mouctar HAIDARA
0e7485c942 ci: Attempt to make the CI work with forks 2024-12-09 23:33:28 +01:00
Mohamed El Mouctar Haidara
8d3056a2c0
ci: Collapse the mermaid graphs in the job summary ()
This should "speed up" the rendering of the page.
2024-12-09 19:41:21 +01:00
Mohamed El Mouctar HAIDARA
bf11464ded fix(mermaid): More rounded role node for consistency with graphviz 2024-12-06 23:01:20 +01:00
dependabot[bot]
b8d8a5c1c5
chore(deps): bump pytest from 8.3.3 to 8.3.4 ()
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to
8.3.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases">pytest's
releases</a>.</em></p>
<blockquote>
<h2>8.3.4</h2>
<h1>pytest 8.3.4 (2024-12-01)</h1>
<h2>Bug fixes</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12592">#12592</a>:
Fixed <code>KeyError</code>{.interpreted-text role=&quot;class&quot;}
crash when using <code>--import-mode=importlib</code> in a directory
layout where a directory contains a child directory with the same
name.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12818">#12818</a>:
Assertion rewriting now preserves the source ranges of the original
instructions, making it play well with tools that deal with the
<code>AST</code>, like <a
href="https://github.com/alexmojaki/executing">executing</a>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12849">#12849</a>:
ANSI escape codes for colored output now handled correctly in
<code>pytest.fail</code>{.interpreted-text role=&quot;func&quot;} with
[pytrace=False]{.title-ref}.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/9353">#9353</a>:
<code>pytest.approx</code>{.interpreted-text role=&quot;func&quot;} now
uses strict equality when given booleans.</p>
</li>
</ul>
<h2>Improved documentation</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/10558">#10558</a>:
Fix ambiguous docstring of
<code>pytest.Config.getoption</code>{.interpreted-text
role=&quot;func&quot;}.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/10829">#10829</a>:
Improve documentation on the current handling of the
<code>--basetemp</code> option and its lack of retention functionality
(<code>temporary directory location and
retention</code>{.interpreted-text role=&quot;ref&quot;}).</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12866">#12866</a>:
Improved cross-references concerning the
<code>recwarn</code>{.interpreted-text role=&quot;fixture&quot;}
fixture.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12966">#12966</a>:
Clarify <code>filterwarnings</code>{.interpreted-text
role=&quot;ref&quot;} docs on filter precedence/order when using
multiple <code>@pytest.mark.filterwarnings
&lt;pytest.mark.filterwarnings ref&gt;</code>{.interpreted-text
role=&quot;ref&quot;} marks.</p>
</li>
</ul>
<h2>Contributor-facing changes</h2>
<ul>
<li><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12497">#12497</a>:
Fixed two failing pdb-related tests on Python 3.13.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="53f8b4e634"><code>53f8b4e</code></a>
Update pypa/gh-action-pypi-publish to v1.12.2</li>
<li><a
href="98dff36c9d"><code>98dff36</code></a>
Prepare release version 8.3.4</li>
<li><a
href="1b474e221d"><code>1b474e2</code></a>
approx: use exact comparison for bool (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/13013">#13013</a>)</li>
<li><a
href="b541721529"><code>b541721</code></a>
docs: Fix wrong statement about sys.modules with importlib import mode
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/1298">#1298</a>...</li>
<li><a
href="16cb87b650"><code>16cb87b</code></a>
pytest.fail: fix ANSI escape codes for colored output (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12959">#12959</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12990">#12990</a>)</li>
<li><a
href="be6bc812b0"><code>be6bc81</code></a>
Issue <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12966">#12966</a>
Clarify filterwarnings docs on precedence when using multiple ma...</li>
<li><a
href="7aeb72bbc6"><code>7aeb72b</code></a>
Improve docs on basetemp and retention (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12912">#12912</a>)
(<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12928">#12928</a>)</li>
<li><a
href="c8758414cf"><code>c875841</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12917">#12917</a>
from pytest-dev/patchback/backports/8.3.x/ded1f44e5...</li>
<li><a
href="6502816d97"><code>6502816</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12913">#12913</a>
from jakkdl/dontfailonbadpath</li>
<li><a
href="52135b033f"><code>52135b0</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12885">#12885</a>
from The-Compiler/pdb-py311 (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12887">#12887</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest/compare/8.3.3...8.3.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=pip&previous-version=8.3.3&new-version=8.3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 22:26:51 +01:00
dependabot[bot]
1eeb076ad5
chore(deps): update ansible-core requirement from <2.18.1,>=2.17.5 to >=2.17.5,<2.18.2 ()
Updates the requirements on
[ansible-core](https://github.com/ansible/ansible) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ansible/ansible/releases">ansible-core's
releases</a>.</em></p>
<blockquote>
<h2>v2.18.1</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.1/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="dd43ac6d09/ansible_core-2.18.1-py3-none-any.whl">ansible_core-2.18.1-py3-none-any.whl</a>
- ‌2214624 bytes
<ul>
<li>4a312e416e09c7271188d6b8e2b1062fc6834fefd6a1814d0e02fb8aadb3e1ba
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="15836f1f48/ansible_core-2.18.1.tar.gz">ansible_core-2.18.1.tar.gz</a>
- ‌3069965 bytes
<ul>
<li>14cac1f92bbdae881cb0616eddeb17925e8cb507e486087975e724533d9de74f
(SHA256)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3223e442ab"><code>3223e44</code></a>
New release v2.18.1 (<a
href="https://redirect.github.com/ansible/ansible/issues/84415">#84415</a>)</li>
<li><a
href="2248754de5"><code>2248754</code></a>
Update Ansible release version to v2.18.1rc1.post0. (<a
href="https://redirect.github.com/ansible/ansible/issues/84393">#84393</a>)</li>
<li><a
href="ced97d5a0b"><code>ced97d5</code></a>
New release v2.18.1rc1 (<a
href="https://redirect.github.com/ansible/ansible/issues/84390">#84390</a>)</li>
<li><a
href="b88f29ec6d"><code>b88f29e</code></a>
[stable-2.18] dnf5: fix is_installed check (<a
href="https://redirect.github.com/ansible/ansible/issues/84275">#84275</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84333">#84333</a>)</li>
<li><a
href="8f2cc9d916"><code>8f2cc9d</code></a>
vars/varnames more examles more varied (<a
href="https://redirect.github.com/ansible/ansible/issues/84300">#84300</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84304">#84304</a>)</li>
<li><a
href="fec17efe26"><code>fec17ef</code></a>
Fix runas become SYSTEM logic (<a
href="https://redirect.github.com/ansible/ansible/issues/84280">#84280</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84297">#84297</a>)</li>
<li><a
href="0fb9772a7b"><code>0fb9772</code></a>
command module, fix docs to reflect reality (<a
href="https://redirect.github.com/ansible/ansible/issues/84191">#84191</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84277">#84277</a>)</li>
<li><a
href="84b407cbdb"><code>84b407c</code></a>
Fix returning unreachable for looped tasks (<a
href="https://redirect.github.com/ansible/ansible/issues/84049">#84049</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84204">#84204</a>)</li>
<li><a
href="2936b80dbb"><code>2936b80</code></a>
Fix CVE-2024-11079 hostvars unsafe context (<a
href="https://redirect.github.com/ansible/ansible/issues/84339">#84339</a>)</li>
<li><a
href="1f88f0984f"><code>1f88f09</code></a>
[stable-2.18] ansible-test - Improve container network detection (<a
href="https://redirect.github.com/ansible/ansible/issues/84323">#84323</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/8">#8</a>...</li>
<li>Additional commits viewable in <a
href="https://github.com/ansible/ansible/compare/v2.17.5...v2.18.1">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 22:24:36 +01:00
Mohamed El Mouctar HAIDARA
8d49294c4a doc: release 2.5.1 2024-12-04 22:11:51 +01:00
dependabot[bot]
759684c92b
chore(deps): update ansible-core requirement from <2.17.5,>=2.16 to >=2.16,<2.18.1 ()
Updates the requirements on
[ansible-core](https://github.com/ansible/ansible) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ansible/ansible/releases">ansible-core's
releases</a>.</em></p>
<blockquote>
<h2>v2.18.0</h2>
<h1>Changelog</h1>
<p>See the <a
href="https://github.com/ansible/ansible/blob/v2.18.0/changelogs/CHANGELOG-v2.18.rst">full
changelog</a> for the changes included in this release.</p>
<h1>Release Artifacts</h1>
<ul>
<li>Built Distribution: <a
href="c70341980b/ansible_core-2.18.0-py3-none-any.whl">ansible_core-2.18.0-py3-none-any.whl</a>
- ‌2212552 bytes
<ul>
<li>d28818df3741d6cd744dab5e4ff9c658daa94ba71c8e15a12dbe9eeab30a658f
(SHA256)</li>
</ul>
</li>
<li>Source Distribution: <a
href="0d5a28caca/ansible_core-2.18.0.tar.gz">ansible_core-2.18.0.tar.gz</a>
- ‌3064903 bytes
<ul>
<li>87fbebbfe8d961e9b153e84b4438ba3a327dbfdcd4ad05a6065d9ff5d9d02e7b
(SHA256)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ec78526b97"><code>ec78526</code></a>
New release v2.18.0 (<a
href="https://redirect.github.com/ansible/ansible/issues/84251">#84251</a>)</li>
<li><a
href="b1366ce965"><code>b1366ce</code></a>
Update Ansible release version to v2.18.0rc2.post0. (<a
href="https://redirect.github.com/ansible/ansible/issues/84198">#84198</a>)</li>
<li><a
href="00031d2d6f"><code>00031d2</code></a>
New release v2.18.0rc2 (<a
href="https://redirect.github.com/ansible/ansible/issues/84193">#84193</a>)</li>
<li><a
href="93c3133c2d"><code>93c3133</code></a>
remove stale changelog entry (<a
href="https://redirect.github.com/ansible/ansible/issues/84187">#84187</a>)</li>
<li><a
href="23f8639a4b"><code>23f8639</code></a>
[stable-2.18] Preserve <code>_ansible_no_log</code> from action result;
fix `include_var...</li>
<li><a
href="3b6de811ab"><code>3b6de81</code></a>
user module avoid conflicts ssh pub key (<a
href="https://redirect.github.com/ansible/ansible/issues/84165">#84165</a>)
(<a
href="https://redirect.github.com/ansible/ansible/issues/84171">#84171</a>)</li>
<li><a
href="cfdafb9bb6"><code>cfdafb9</code></a>
[2.18] Trim <code>selinux_policytype</code> @ integration tests (<a
href="https://redirect.github.com/ansible/ansible/issues/84137">#84137</a>)</li>
<li><a
href="eaec3748c5"><code>eaec374</code></a>
Update Ansible release version to v2.18.0rc1.post0. (<a
href="https://redirect.github.com/ansible/ansible/issues/84124">#84124</a>)</li>
<li><a
href="34ccdfa90a"><code>34ccdfa</code></a>
New release v2.18.0rc1 (<a
href="https://redirect.github.com/ansible/ansible/issues/84122">#84122</a>)</li>
<li><a
href="a3656b2ffb"><code>a3656b2</code></a>
[stable-2.18] facts: Skip path if the distribution path is directory (<a
href="https://redirect.github.com/ansible/ansible/issues/84036">#84036</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ansible/ansible/compare/v2.16.0...v2.18.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mohamed El Mouctar HAIDARA <elmhaidara@gmail.com>
2024-12-04 22:09:19 +01:00
dependabot[bot]
052fbd0a53
chore(deps): bump ruff from 0.7.4 to 0.8.1 ()
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.4 to 0.8.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.8.1</h2>
<h2>Release Notes</h2>
<h3>Preview features</h3>
<ul>
<li>Formatter: Avoid invalid syntax for format-spec with quotes for all
Python versions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14625">#14625</a>)</li>
<li>Formatter: Consider quotes inside format-specs when choosing the
quotes for an f-string (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14493">#14493</a>)</li>
<li>Formatter: Do not consider f-strings with escaped newlines as
multiline (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14624">#14624</a>)</li>
<li>Formatter: Fix f-string formatting in assignment statement (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14454">#14454</a>)</li>
<li>Formatter: Fix unnecessary space around power operator
(<code>**</code>) in overlong f-string expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14489">#14489</a>)</li>
<li>[<code>airflow</code>] Avoid implicit <code>schedule</code> argument
to <code>DAG</code> and <code>@dag</code> (<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14581">#14581</a>)</li>
<li>[<code>flake8-builtins</code>] Exempt private built-in modules
(<code>A005</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14505">#14505</a>)</li>
<li>[<code>flake8-pytest-style</code>] Fix
<code>pytest.mark.parametrize</code> rules to check calls instead of
decorators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14515">#14515</a>)</li>
<li>[<code>flake8-type-checking</code>] Implement
<code>runtime-cast-value</code> (<code>TC006</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14511">#14511</a>)</li>
<li>[<code>flake8-type-checking</code>] Implement
<code>unquoted-type-alias</code> (<code>TC007</code>) and
<code>quoted-type-alias</code> (<code>TC008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12927">#12927</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Recommend
<code>Path.iterdir()</code> over <code>os.listdir()</code>
(<code>PTH208</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14509">#14509</a>)</li>
<li>[<code>pylint</code>] Extend <code>invalid-envvar-default</code> to
detect <code>os.environ.get</code> (<code>PLW1508</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14512">#14512</a>)</li>
<li>[<code>pylint</code>] Implement <code>len-test</code>
(<code>PLC1802</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14309">#14309</a>)</li>
<li>[<code>refurb</code>] Fix bug where methods defined using lambdas
were flagged by <code>FURB118</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14639">#14639</a>)</li>
<li>[<code>ruff</code>] Auto-add <code>r</code> prefix when string has
no backslashes for <code>unraw-re-pattern</code> (<code>RUF039</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/14536">#14536</a>)</li>
<li>[<code>ruff</code>] Implement
<code>invalid-assert-message-literal-argument</code>
(<code>RUF040</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14488">#14488</a>)</li>
<li>[<code>ruff</code>] Implement
<code>unnecessary-nested-literal</code> (<code>RUF041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14323">#14323</a>)</li>
<li>[<code>ruff</code>] Implement
<code>unnecessary-regular-expression</code> (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14659">#14659</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Ignore more rules for stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14541">#14541</a>)</li>
<li>[<code>pep8-naming</code>] Eliminate false positives for
single-letter names (<code>N811</code>, <code>N814</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14584">#14584</a>)</li>
<li>[<code>pyflakes</code>] Avoid false positives in
<code>@no_type_check</code> contexts (<code>F821</code>,
<code>F722</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14615">#14615</a>)</li>
<li>[<code>ruff</code>] Detect redirected-noqa in file-level comments
(<code>RUF101</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14635">#14635</a>)</li>
<li>[<code>ruff</code>] Mark fixes for <code>unsorted-dunder-all</code>
and <code>unsorted-dunder-slots</code> as unsafe when there are complex
comments in the sequence (<code>RUF022</code>, <code>RUF023</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14560">#14560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid fixing code to <code>None | None</code> for
<code>redundant-none-literal</code> (<code>PYI061</code>) and
<code>never-union</code> (<code>RUF020</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14583">#14583</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/14589">#14589</a>)</li>
<li>[<code>flake8-bugbear</code>] Fix
<code>mutable-contextvar-default</code> to resolve annotated function
calls properly (<code>B039</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14532">#14532</a>)</li>
<li>[<code>flake8-pyi</code>, <code>ruff</code>] Fix traversal of nested
literals and unions (<code>PYI016</code>, <code>PYI051</code>,
<code>PYI055</code>, <code>PYI062</code>, <code>RUF041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14641">#14641</a>)</li>
<li>[<code>flake8-pyi</code>] Avoid rewriting invalid type expressions
in <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14660">#14660</a>)</li>
<li>[<code>flake8-type-checking</code>] Avoid syntax errors and type
checking problem for quoted annotations autofix (<code>TC003</code>,
<code>TC006</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14634">#14634</a>)</li>
<li>[<code>pylint</code>] Do not wrap function calls in parentheses in
the fix for unnecessary-dunder-call (<code>PLC2801</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14601">#14601</a>)</li>
<li>[<code>ruff</code>] Handle <code>attrs</code>'s
<code>auto_attribs</code> correctly (<code>RUF009</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14520">#14520</a>)</li>
</ul>
<h2>Contributors</h2>
<ul>
<li><a
href="https://github.com/AlexWaygood"><code>@​AlexWaygood</code></a></li>
<li><a
href="https://github.com/Daverball"><code>@​Daverball</code></a></li>
<li><a
href="https://github.com/Glyphack"><code>@​Glyphack</code></a></li>
<li><a
href="https://github.com/InSyncWithFoo"><code>@​InSyncWithFoo</code></a></li>
<li><a
href="https://github.com/Lokejoke"><code>@​Lokejoke</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/cake-monotone"><code>@​cake-monotone</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.8.1</h2>
<h3>Preview features</h3>
<ul>
<li>Formatter: Avoid invalid syntax for format-spec with quotes for all
Python versions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14625">#14625</a>)</li>
<li>Formatter: Consider quotes inside format-specs when choosing the
quotes for an f-string (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14493">#14493</a>)</li>
<li>Formatter: Do not consider f-strings with escaped newlines as
multiline (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14624">#14624</a>)</li>
<li>Formatter: Fix f-string formatting in assignment statement (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14454">#14454</a>)</li>
<li>Formatter: Fix unnecessary space around power operator
(<code>**</code>) in overlong f-string expressions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14489">#14489</a>)</li>
<li>[<code>airflow</code>] Avoid implicit <code>schedule</code> argument
to <code>DAG</code> and <code>@dag</code> (<code>AIR301</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14581">#14581</a>)</li>
<li>[<code>flake8-builtins</code>] Exempt private built-in modules
(<code>A005</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14505">#14505</a>)</li>
<li>[<code>flake8-pytest-style</code>] Fix
<code>pytest.mark.parametrize</code> rules to check calls instead of
decorators (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14515">#14515</a>)</li>
<li>[<code>flake8-type-checking</code>] Implement
<code>runtime-cast-value</code> (<code>TC006</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14511">#14511</a>)</li>
<li>[<code>flake8-type-checking</code>] Implement
<code>unquoted-type-alias</code> (<code>TC007</code>) and
<code>quoted-type-alias</code> (<code>TC008</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12927">#12927</a>)</li>
<li>[<code>flake8-use-pathlib</code>] Recommend
<code>Path.iterdir()</code> over <code>os.listdir()</code>
(<code>PTH208</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14509">#14509</a>)</li>
<li>[<code>pylint</code>] Extend <code>invalid-envvar-default</code> to
detect <code>os.environ.get</code> (<code>PLW1508</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14512">#14512</a>)</li>
<li>[<code>pylint</code>] Implement <code>len-test</code>
(<code>PLC1802</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14309">#14309</a>)</li>
<li>[<code>refurb</code>] Fix bug where methods defined using lambdas
were flagged by <code>FURB118</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14639">#14639</a>)</li>
<li>[<code>ruff</code>] Auto-add <code>r</code> prefix when string has
no backslashes for <code>unraw-re-pattern</code> (<code>RUF039</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/14536">#14536</a>)</li>
<li>[<code>ruff</code>] Implement
<code>invalid-assert-message-literal-argument</code>
(<code>RUF040</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14488">#14488</a>)</li>
<li>[<code>ruff</code>] Implement
<code>unnecessary-nested-literal</code> (<code>RUF041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14323">#14323</a>)</li>
<li>[<code>ruff</code>] Implement
<code>unnecessary-regular-expression</code> (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14659">#14659</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>Ignore more rules for stub files (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14541">#14541</a>)</li>
<li>[<code>pep8-naming</code>] Eliminate false positives for
single-letter names (<code>N811</code>, <code>N814</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14584">#14584</a>)</li>
<li>[<code>pyflakes</code>] Avoid false positives in
<code>@no_type_check</code> contexts (<code>F821</code>,
<code>F722</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14615">#14615</a>)</li>
<li>[<code>ruff</code>] Detect redirected-noqa in file-level comments
(<code>RUF101</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14635">#14635</a>)</li>
<li>[<code>ruff</code>] Mark fixes for <code>unsorted-dunder-all</code>
and <code>unsorted-dunder-slots</code> as unsafe when there are complex
comments in the sequence (<code>RUF022</code>, <code>RUF023</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14560">#14560</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Avoid fixing code to <code>None | None</code> for
<code>redundant-none-literal</code> (<code>PYI061</code>) and
<code>never-union</code> (<code>RUF020</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14583">#14583</a>,
<a
href="https://redirect.github.com/astral-sh/ruff/pull/14589">#14589</a>)</li>
<li>[<code>flake8-bugbear</code>] Fix
<code>mutable-contextvar-default</code> to resolve annotated function
calls properly (<code>B039</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14532">#14532</a>)</li>
<li>[<code>flake8-pyi</code>, <code>ruff</code>] Fix traversal of nested
literals and unions (<code>PYI016</code>, <code>PYI051</code>,
<code>PYI055</code>, <code>PYI062</code>, <code>RUF041</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14641">#14641</a>)</li>
<li>[<code>flake8-pyi</code>] Avoid rewriting invalid type expressions
in <code>unnecessary-type-union</code> (<code>PYI055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14660">#14660</a>)</li>
<li>[<code>flake8-type-checking</code>] Avoid syntax errors and type
checking problem for quoted annotations autofix (<code>TC003</code>,
<code>TC006</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14634">#14634</a>)</li>
<li>[<code>pylint</code>] Do not wrap function calls in parentheses in
the fix for unnecessary-dunder-call (<code>PLC2801</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14601">#14601</a>)</li>
<li>[<code>ruff</code>] Handle <code>attrs</code>'s
<code>auto_attribs</code> correctly (<code>RUF009</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/14520">#14520</a>)</li>
</ul>
<h2>0.8.0</h2>
<p>Check out the <a href="https://astral.sh/blog/ruff-v0.8.0">blog
post</a> for a migration guide and overview of the changes!</p>
<h3>Breaking changes</h3>
<p>See also, the &quot;Remapped rules&quot; section which may result in
disabled rules.</p>
<ul>
<li><strong>Default to Python 3.9</strong></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b3b2c982cd"><code>b3b2c98</code></a>
Update CHANGELOG.md with the new commits for 0.8.1 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14664">#14664</a>)</li>
<li><a
href="abb3c6ea95"><code>abb3c6e</code></a>
[<code>flake8-pyi</code>] Avoid rewriting invalid type expressions in
`unnecessary-type-...</li>
<li><a
href="224fe75a76"><code>224fe75</code></a>
[<code>ruff</code>] Implement
<code>unnecessary-regular-expression</code> (<code>RUF055</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14659">#14659</a>)</li>
<li><a
href="dc29f52750"><code>dc29f52</code></a>
[<code>flake8-pyi</code>, <code>ruff</code>] Fix traversal of nested
literals and unions (<code>PYI016</code>,...</li>
<li><a
href="d9cbf2fe44"><code>d9cbf2f</code></a>
Avoids unnecessary overhead for <code>TC004</code>, when
<code>TC001-003</code> are disabled (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14657">#14657</a>)</li>
<li><a
href="3f6c65e78c"><code>3f6c65e</code></a>
[red-knot] Fix merged type after if-else without explicit else branch
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/14621">#14621</a>)</li>
<li><a
href="976c37a849"><code>976c37a</code></a>
Bump version to 0.8.1 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14655">#14655</a>)</li>
<li><a
href="a378ff38dc"><code>a378ff3</code></a>
[red-knot] Fix Boolean flags in mdtests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14654">#14654</a>)</li>
<li><a
href="d8bca0d3a2"><code>d8bca0d</code></a>
Fix bug where methods defined using lambdas were flagged by FURB118 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14639">#14639</a>)</li>
<li><a
href="6f1cf5b686"><code>6f1cf5b</code></a>
[red-knot] Minor fix in MRO tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/14652">#14652</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.7.4...0.8.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.7.4&new-version=0.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 00:19:38 +01:00
Mohamed El Mouctar HAIDARA
8ca71159bf doc: release 2.5.0 2024-11-23 12:52:45 +01:00
Mohamed El Mouctar HAIDARA
ad4fe53aa2 prepare for the next release 2024-11-17 22:47:40 +01:00