docs: Release v2.0.0 [ci skip]

This commit is contained in:
Mohamed El Mouctar HAIDARA 2023-06-03 20:06:02 +02:00
parent 87cea5b247
commit 0953291bf2
3 changed files with 166 additions and 267 deletions

View file

@ -3,9 +3,10 @@
## What's Changed
- 🚀🚀Add support for MermaidJS 🚀🚀. See https://github.com/haidaraM/ansible-playbook-grapher/issues/137
- Add generated images in the CI job summary
- Update various Dependencies: pytest, pytest-cov, ansible-core, pyquery etc...
- ci: Add dependabot for github-actions
- Rename some tests files..
- Rename some tests files...
## Breaking changes

428
README.md
View file

@ -85,302 +85,200 @@ ansible-playbook-grapher tests/fixtures/with_block.yml
![Example](https://raw.githubusercontent.com/haidaraM/ansible-playbook-grapher/main/img/block.png)
```bash
ansible-playbook-grapher --include-role-tasks --renderer mermaid-flowchart tests/fixtures/multi-plays.yml tests/fixtures/with_block.yml
ansible-playbook-grapher --include-role-tasks --renderer mermaid-flowchart tests/fixtures/multi-plays.yml
```
```mermaid
---
title: Ansible Playbook Grapher
---
%%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%%
%%{ init: { "flowchart": { "curve": "bumpX" } } }%%
flowchart LR
%% Start of the playbook 'tests/fixtures/multi-plays.yml'
playbook_bd8798bc("tests/fixtures/multi-plays.yml")
playbook_34b89e53("tests/fixtures/multi-plays.yml")
%% Start of the play 'Play: all (0)'
play_fb11c1f8["Play: all (0)"]
style play_fb11c1f8 fill:#4d8b41,color:#ffffff
playbook_bd8798bc --> |"1"| play_fb11c1f8
linkStyle 0 stroke:#4d8b41,color:#4d8b41
pre_task_0aea2a6b["[pre_task] Pretask"]
style pre_task_0aea2a6b stroke:#4d8b41,fill:#ffffff
play_fb11c1f8 --> |"1"| pre_task_0aea2a6b
linkStyle 1 stroke:#4d8b41,color:#4d8b41
pre_task_e48d82b5["[pre_task] Pretask 2"]
style pre_task_e48d82b5 stroke:#4d8b41,fill:#ffffff
play_fb11c1f8 --> |"2"| pre_task_e48d82b5
linkStyle 2 stroke:#4d8b41,color:#4d8b41
play_8c4134b8["Play: all (0)"]
style play_8c4134b8 fill:#656f5d,color:#ffffff
playbook_34b89e53 --> |"1"| play_8c4134b8
linkStyle 0 stroke:#656f5d,color:#656f5d
pre_task_dd2c1b7d["[pre_task] Pretask"]
style pre_task_dd2c1b7d stroke:#656f5d,fill:#ffffff
play_8c4134b8 --> |"1"| pre_task_dd2c1b7d
linkStyle 1 stroke:#656f5d,color:#656f5d
pre_task_bc33639f["[pre_task] Pretask 2"]
style pre_task_bc33639f stroke:#656f5d,fill:#ffffff
play_8c4134b8 --> |"2"| pre_task_bc33639f
linkStyle 2 stroke:#656f5d,color:#656f5d
%% Start of the role 'fake_role'
role_d95e9d5f("[role] fake_role")
style role_d95e9d5f fill:#4d8b41,color:#ffffff,stroke:#4d8b41
play_fb11c1f8 --> |"3"| role_d95e9d5f
linkStyle 3 stroke:#4d8b41,color:#4d8b41
task_41f6dd12["fake_role : Debug 1"]
style task_41f6dd12 stroke:#4d8b41,fill:#ffffff
role_d95e9d5f --> |"1 [when: ansible_distribution == 'Debian']"| task_41f6dd12
linkStyle 4 stroke:#4d8b41,color:#4d8b41
task_9dcf29d3["fake_role : Debug 2"]
style task_9dcf29d3 stroke:#4d8b41,fill:#ffffff
role_d95e9d5f --> |"2 [when: ansible_distribution == 'Debian']"| task_9dcf29d3
linkStyle 5 stroke:#4d8b41,color:#4d8b41
task_dc3f4611["fake_role : Debug 3 with double quote "here" in the name"]
style task_dc3f4611 stroke:#4d8b41,fill:#ffffff
role_d95e9d5f --> |"3 [when: ansible_distribution == 'Debian']"| task_dc3f4611
linkStyle 6 stroke:#4d8b41,color:#4d8b41
play_8c4134b8 --> |"3"| role_f4e6fb4d
linkStyle 3 stroke:#656f5d,color:#656f5d
role_f4e6fb4d("[role] fake_role")
style role_f4e6fb4d fill:#656f5d,color:#ffffff,stroke:#656f5d
task_94f7fc58[" fake_role : Debug 1"]
style task_94f7fc58 stroke:#656f5d,fill:#ffffff
role_f4e6fb4d --> |"1 [when: ansible_distribution == 'Debian']"| task_94f7fc58
linkStyle 4 stroke:#656f5d,color:#656f5d
task_bd56c6b5[" fake_role : Debug 2"]
style task_bd56c6b5 stroke:#656f5d,fill:#ffffff
role_f4e6fb4d --> |"2 [when: ansible_distribution == 'Debian']"| task_bd56c6b5
linkStyle 5 stroke:#656f5d,color:#656f5d
task_4f51a1cc[" fake_role : Debug 3 with double quote "here" in the name"]
style task_4f51a1cc stroke:#656f5d,fill:#ffffff
role_f4e6fb4d --> |"3 [when: ansible_distribution == 'Debian']"| task_4f51a1cc
linkStyle 6 stroke:#656f5d,color:#656f5d
%% End of the role 'fake_role'
%% Start of the role 'display_some_facts'
role_2b74c9f5("[role] display_some_facts")
style role_2b74c9f5 fill:#4d8b41,color:#ffffff,stroke:#4d8b41
play_fb11c1f8 --> |"4"| role_2b74c9f5
linkStyle 7 stroke:#4d8b41,color:#4d8b41
task_1c0691fb["display_some_facts : ansible_architecture"]
style task_1c0691fb stroke:#4d8b41,fill:#ffffff
role_2b74c9f5 --> |"1"| task_1c0691fb
linkStyle 8 stroke:#4d8b41,color:#4d8b41
task_c7d6574e["display_some_facts : ansible_date_time"]
style task_c7d6574e stroke:#4d8b41,fill:#ffffff
role_2b74c9f5 --> |"2"| task_c7d6574e
linkStyle 9 stroke:#4d8b41,color:#4d8b41
task_e26456cf["display_some_facts : Specific included task for Debian"]
style task_e26456cf stroke:#4d8b41,fill:#ffffff
role_2b74c9f5 --> |"3"| task_e26456cf
linkStyle 10 stroke:#4d8b41,color:#4d8b41
play_8c4134b8 --> |"4"| role_497b8470
linkStyle 7 stroke:#656f5d,color:#656f5d
role_497b8470("[role] display_some_facts")
style role_497b8470 fill:#656f5d,color:#ffffff,stroke:#656f5d
task_984b3c44[" display_some_facts : ansible_architecture"]
style task_984b3c44 stroke:#656f5d,fill:#ffffff
role_497b8470 --> |"1"| task_984b3c44
linkStyle 8 stroke:#656f5d,color:#656f5d
task_3cb4a46c[" display_some_facts : ansible_date_time"]
style task_3cb4a46c stroke:#656f5d,fill:#ffffff
role_497b8470 --> |"2"| task_3cb4a46c
linkStyle 9 stroke:#656f5d,color:#656f5d
task_715c2049[" display_some_facts : Specific included task for Debian"]
style task_715c2049 stroke:#656f5d,fill:#ffffff
role_497b8470 --> |"3"| task_715c2049
linkStyle 10 stroke:#656f5d,color:#656f5d
%% End of the role 'display_some_facts'
task_f0ec5674["[task] Add backport {{backport}}"]
style task_f0ec5674 stroke:#4d8b41,fill:#ffffff
play_fb11c1f8 --> |"5"| task_f0ec5674
linkStyle 11 stroke:#4d8b41,color:#4d8b41
task_614fa7f3["[task] Install packages"]
style task_614fa7f3 stroke:#4d8b41,fill:#ffffff
play_fb11c1f8 --> |"6"| task_614fa7f3
linkStyle 12 stroke:#4d8b41,color:#4d8b41
post_task_bfd4a733["[post_task] Posttask"]
style post_task_bfd4a733 stroke:#4d8b41,fill:#ffffff
play_fb11c1f8 --> |"7"| post_task_bfd4a733
linkStyle 13 stroke:#4d8b41,color:#4d8b41
post_task_6728f20f["[post_task] Posttask 2"]
style post_task_6728f20f stroke:#4d8b41,fill:#ffffff
play_fb11c1f8 --> |"8"| post_task_6728f20f
linkStyle 14 stroke:#4d8b41,color:#4d8b41
task_d8b579ea["[task] Add backport {{backport}}"]
style task_d8b579ea stroke:#656f5d,fill:#ffffff
play_8c4134b8 --> |"5"| task_d8b579ea
linkStyle 11 stroke:#656f5d,color:#656f5d
task_99117197["[task] Install packages"]
style task_99117197 stroke:#656f5d,fill:#ffffff
play_8c4134b8 --> |"6"| task_99117197
linkStyle 12 stroke:#656f5d,color:#656f5d
post_task_f789bda0["[post_task] Posttask"]
style post_task_f789bda0 stroke:#656f5d,fill:#ffffff
play_8c4134b8 --> |"7"| post_task_f789bda0
linkStyle 13 stroke:#656f5d,color:#656f5d
post_task_08755b4b["[post_task] Posttask 2"]
style post_task_08755b4b stroke:#656f5d,fill:#ffffff
play_8c4134b8 --> |"8"| post_task_08755b4b
linkStyle 14 stroke:#656f5d,color:#656f5d
%% End of the play 'Play: all (0)'
%% Start of the play 'Play: database (0)'
play_200a2cda["Play: database (0)"]
style play_200a2cda fill:#195db3,color:#ffffff
playbook_bd8798bc --> |"2"| play_200a2cda
linkStyle 15 stroke:#195db3,color:#195db3
play_40fea3c6["Play: database (0)"]
style play_40fea3c6 fill:#2370a9,color:#ffffff
playbook_34b89e53 --> |"2"| play_40fea3c6
linkStyle 15 stroke:#2370a9,color:#2370a9
%% Start of the role 'fake_role'
role_584c099b("[role] fake_role")
style role_584c099b fill:#195db3,color:#ffffff,stroke:#195db3
play_200a2cda --> |"1"| role_584c099b
linkStyle 16 stroke:#195db3,color:#195db3
task_4363c0b7["fake_role : Debug 1"]
style task_4363c0b7 stroke:#195db3,fill:#ffffff
role_584c099b --> |"1 [when: ansible_distribution == 'Debian']"| task_4363c0b7
linkStyle 17 stroke:#195db3,color:#195db3
task_aff132aa["fake_role : Debug 2"]
style task_aff132aa stroke:#195db3,fill:#ffffff
role_584c099b --> |"2 [when: ansible_distribution == 'Debian']"| task_aff132aa
linkStyle 18 stroke:#195db3,color:#195db3
task_69120ebe["fake_role : Debug 3 with double quote "here" in the name"]
style task_69120ebe stroke:#195db3,fill:#ffffff
role_584c099b --> |"3 [when: ansible_distribution == 'Debian']"| task_69120ebe
linkStyle 19 stroke:#195db3,color:#195db3
play_40fea3c6 --> |"1"| role_38fdd7bb
linkStyle 16 stroke:#2370a9,color:#2370a9
role_38fdd7bb("[role] fake_role")
style role_38fdd7bb fill:#2370a9,color:#ffffff,stroke:#2370a9
task_54a811a1[" fake_role : Debug 1"]
style task_54a811a1 stroke:#2370a9,fill:#ffffff
role_38fdd7bb --> |"1 [when: ansible_distribution == 'Debian']"| task_54a811a1
linkStyle 17 stroke:#2370a9,color:#2370a9
task_0400749b[" fake_role : Debug 2"]
style task_0400749b stroke:#2370a9,fill:#ffffff
role_38fdd7bb --> |"2 [when: ansible_distribution == 'Debian']"| task_0400749b
linkStyle 18 stroke:#2370a9,color:#2370a9
task_e453cadd[" fake_role : Debug 3 with double quote "here" in the name"]
style task_e453cadd stroke:#2370a9,fill:#ffffff
role_38fdd7bb --> |"3 [when: ansible_distribution == 'Debian']"| task_e453cadd
linkStyle 19 stroke:#2370a9,color:#2370a9
%% End of the role 'fake_role'
%% Start of the role 'display_some_facts'
role_f46ed679("[role] display_some_facts")
style role_f46ed679 fill:#195db3,color:#ffffff,stroke:#195db3
play_200a2cda --> |"2"| role_f46ed679
linkStyle 20 stroke:#195db3,color:#195db3
task_5f4d00e6["display_some_facts : ansible_architecture"]
style task_5f4d00e6 stroke:#195db3,fill:#ffffff
role_f46ed679 --> |"1"| task_5f4d00e6
linkStyle 21 stroke:#195db3,color:#195db3
task_fa40d63b["display_some_facts : ansible_date_time"]
style task_fa40d63b stroke:#195db3,fill:#ffffff
role_f46ed679 --> |"2"| task_fa40d63b
linkStyle 22 stroke:#195db3,color:#195db3
task_3527696f["display_some_facts : Specific included task for Debian"]
style task_3527696f stroke:#195db3,fill:#ffffff
role_f46ed679 --> |"3"| task_3527696f
linkStyle 23 stroke:#195db3,color:#195db3
play_40fea3c6 --> |"2"| role_b05b7094
linkStyle 20 stroke:#2370a9,color:#2370a9
role_b05b7094("[role] display_some_facts")
style role_b05b7094 fill:#2370a9,color:#ffffff,stroke:#2370a9
task_153db06e[" display_some_facts : ansible_architecture"]
style task_153db06e stroke:#2370a9,fill:#ffffff
role_b05b7094 --> |"1"| task_153db06e
linkStyle 21 stroke:#2370a9,color:#2370a9
task_13df99ce[" display_some_facts : ansible_date_time"]
style task_13df99ce stroke:#2370a9,fill:#ffffff
role_b05b7094 --> |"2"| task_13df99ce
linkStyle 22 stroke:#2370a9,color:#2370a9
task_369b5720[" display_some_facts : Specific included task for Debian"]
style task_369b5720 stroke:#2370a9,fill:#ffffff
role_b05b7094 --> |"3"| task_369b5720
linkStyle 23 stroke:#2370a9,color:#2370a9
%% End of the role 'display_some_facts'
%% End of the play 'Play: database (0)'
%% Start of the play 'Play: webserver (0)'
play_34799e65["Play: webserver (0)"]
style play_34799e65 fill:#7f4d73,color:#ffffff
playbook_bd8798bc --> |"3"| play_34799e65
linkStyle 24 stroke:#7f4d73,color:#7f4d73
play_a68ff4e7["Play: webserver (0)"]
style play_a68ff4e7 fill:#a905c7,color:#ffffff
playbook_34b89e53 --> |"3"| play_a68ff4e7
linkStyle 24 stroke:#a905c7,color:#a905c7
%% Start of the role 'nested_include_role'
role_1bfe7836("[role] nested_include_role")
style role_1bfe7836 fill:#7f4d73,color:#ffffff,stroke:#7f4d73
play_34799e65 --> |"1"| role_1bfe7836
linkStyle 25 stroke:#7f4d73,color:#7f4d73
task_40d7c36f["nested_include_role : Ensure postgresql is at the latest version"]
style task_40d7c36f stroke:#7f4d73,fill:#ffffff
role_1bfe7836 --> |"1"| task_40d7c36f
linkStyle 26 stroke:#7f4d73,color:#7f4d73
task_bc9f916c["nested_include_role : Ensure that postgresql is started"]
style task_bc9f916c stroke:#7f4d73,fill:#ffffff
role_1bfe7836 --> |"2"| task_bc9f916c
linkStyle 27 stroke:#7f4d73,color:#7f4d73
play_a68ff4e7 --> |"1"| role_8bcf64e2
linkStyle 25 stroke:#a905c7,color:#a905c7
role_8bcf64e2("[role] nested_include_role")
style role_8bcf64e2 fill:#a905c7,color:#ffffff,stroke:#a905c7
task_bd87cdf3[" nested_include_role : Ensure postgresql is at the latest version"]
style task_bd87cdf3 stroke:#a905c7,fill:#ffffff
role_8bcf64e2 --> |"1"| task_bd87cdf3
linkStyle 26 stroke:#a905c7,color:#a905c7
task_d7674c4b[" nested_include_role : Ensure that postgresql is started"]
style task_d7674c4b stroke:#a905c7,fill:#ffffff
role_8bcf64e2 --> |"2"| task_d7674c4b
linkStyle 27 stroke:#a905c7,color:#a905c7
%% Start of the role 'display_some_facts'
role_dfff70cd("[role] display_some_facts")
style role_dfff70cd fill:#7f4d73,color:#ffffff,stroke:#7f4d73
role_1bfe7836 --> |"3 [when: x is not defined]"| role_dfff70cd
linkStyle 28 stroke:#7f4d73,color:#7f4d73
task_2700f9a8["display_some_facts : ansible_architecture"]
style task_2700f9a8 stroke:#7f4d73,fill:#ffffff
role_dfff70cd --> |"1"| task_2700f9a8
linkStyle 29 stroke:#7f4d73,color:#7f4d73
task_84bd5d7e["display_some_facts : ansible_date_time"]
style task_84bd5d7e stroke:#7f4d73,fill:#ffffff
role_dfff70cd --> |"2"| task_84bd5d7e
linkStyle 30 stroke:#7f4d73,color:#7f4d73
task_1b02d165["display_some_facts : Specific included task for Debian"]
style task_1b02d165 stroke:#7f4d73,fill:#ffffff
role_dfff70cd --> |"3"| task_1b02d165
linkStyle 31 stroke:#7f4d73,color:#7f4d73
role_8bcf64e2 --> |"3 [when: x is not defined]"| role_806214e1
linkStyle 28 stroke:#a905c7,color:#a905c7
role_806214e1("[role] display_some_facts")
style role_806214e1 fill:#a905c7,color:#ffffff,stroke:#a905c7
task_b1fb63fd[" display_some_facts : ansible_architecture"]
style task_b1fb63fd stroke:#a905c7,fill:#ffffff
role_806214e1 --> |"1"| task_b1fb63fd
linkStyle 29 stroke:#a905c7,color:#a905c7
task_4a1319fd[" display_some_facts : ansible_date_time"]
style task_4a1319fd stroke:#a905c7,fill:#ffffff
role_806214e1 --> |"2"| task_4a1319fd
linkStyle 30 stroke:#a905c7,color:#a905c7
task_175005a1[" display_some_facts : Specific included task for Debian"]
style task_175005a1 stroke:#a905c7,fill:#ffffff
role_806214e1 --> |"3"| task_175005a1
linkStyle 31 stroke:#a905c7,color:#a905c7
%% End of the role 'display_some_facts'
%% Start of the role 'fake_role'
role_6433854b("[role] fake_role")
style role_6433854b fill:#7f4d73,color:#ffffff,stroke:#7f4d73
role_1bfe7836 --> |"4"| role_6433854b
linkStyle 32 stroke:#7f4d73,color:#7f4d73
task_10479304["fake_role : Debug 1"]
style task_10479304 stroke:#7f4d73,fill:#ffffff
role_6433854b --> |"1"| task_10479304
linkStyle 33 stroke:#7f4d73,color:#7f4d73
task_a13ab280["fake_role : Debug 2"]
style task_a13ab280 stroke:#7f4d73,fill:#ffffff
role_6433854b --> |"2"| task_a13ab280
linkStyle 34 stroke:#7f4d73,color:#7f4d73
task_bffa1ed0["fake_role : Debug 3 with double quote "here" in the name"]
style task_bffa1ed0 stroke:#7f4d73,fill:#ffffff
role_6433854b --> |"3"| task_bffa1ed0
linkStyle 35 stroke:#7f4d73,color:#7f4d73
role_8bcf64e2 --> |"4"| role_557d6933
linkStyle 32 stroke:#a905c7,color:#a905c7
role_557d6933("[role] fake_role")
style role_557d6933 fill:#a905c7,color:#ffffff,stroke:#a905c7
task_1fa41f3c[" fake_role : Debug 1"]
style task_1fa41f3c stroke:#a905c7,fill:#ffffff
role_557d6933 --> |"1"| task_1fa41f3c
linkStyle 33 stroke:#a905c7,color:#a905c7
task_2841d72b[" fake_role : Debug 2"]
style task_2841d72b stroke:#a905c7,fill:#ffffff
role_557d6933 --> |"2"| task_2841d72b
linkStyle 34 stroke:#a905c7,color:#a905c7
task_e5fef12a[" fake_role : Debug 3 with double quote "here" in the name"]
style task_e5fef12a stroke:#a905c7,fill:#ffffff
role_557d6933 --> |"3"| task_e5fef12a
linkStyle 35 stroke:#a905c7,color:#a905c7
%% End of the role 'fake_role'
%% End of the role 'nested_include_role'
%% Start of the role 'display_some_facts'
role_9188508e("[role] display_some_facts")
style role_9188508e fill:#7f4d73,color:#ffffff,stroke:#7f4d73
play_34799e65 --> |"2"| role_9188508e
linkStyle 36 stroke:#7f4d73,color:#7f4d73
task_b0401984["display_some_facts : ansible_architecture"]
style task_b0401984 stroke:#7f4d73,fill:#ffffff
role_9188508e --> |"1"| task_b0401984
linkStyle 37 stroke:#7f4d73,color:#7f4d73
task_417dd6b4["display_some_facts : ansible_date_time"]
style task_417dd6b4 stroke:#7f4d73,fill:#ffffff
role_9188508e --> |"2"| task_417dd6b4
linkStyle 38 stroke:#7f4d73,color:#7f4d73
task_60860d86["display_some_facts : Specific included task for Debian"]
style task_60860d86 stroke:#7f4d73,fill:#ffffff
role_9188508e --> |"3"| task_60860d86
linkStyle 39 stroke:#7f4d73,color:#7f4d73
play_a68ff4e7 --> |"2"| role_2720d5bc
linkStyle 36 stroke:#a905c7,color:#a905c7
role_2720d5bc("[role] display_some_facts")
style role_2720d5bc fill:#a905c7,color:#ffffff,stroke:#a905c7
task_4d8d8def[" display_some_facts : ansible_architecture"]
style task_4d8d8def stroke:#a905c7,fill:#ffffff
role_2720d5bc --> |"1"| task_4d8d8def
linkStyle 37 stroke:#a905c7,color:#a905c7
task_58aea4f6[" display_some_facts : ansible_date_time"]
style task_58aea4f6 stroke:#a905c7,fill:#ffffff
role_2720d5bc --> |"2"| task_58aea4f6
linkStyle 38 stroke:#a905c7,color:#a905c7
task_800f91e9[" display_some_facts : Specific included task for Debian"]
style task_800f91e9 stroke:#a905c7,fill:#ffffff
role_2720d5bc --> |"3"| task_800f91e9
linkStyle 39 stroke:#a905c7,color:#a905c7
%% End of the role 'display_some_facts'
%% End of the play 'Play: webserver (0)'
%% End of the playbook 'tests/fixtures/multi-plays.yml'
%% Start of the playbook 'tests/fixtures/with_block.yml'
playbook_2e263466("tests/fixtures/with_block.yml")
%% Start of the play 'Play: all (0)'
play_74990123["Play: all (0)"]
style play_74990123 fill:#a4288c,color:#ffffff
playbook_2e263466 --> |"1"| play_74990123
linkStyle 40 stroke:#a4288c,color:#a4288c
%% Start of the role 'fake_role'
role_5914bd45("[role] fake_role")
style role_5914bd45 fill:#a4288c,color:#ffffff,stroke:#a4288c
play_74990123 --> |"1"| role_5914bd45
linkStyle 41 stroke:#a4288c,color:#a4288c
pre_task_87f2b15f["fake_role : Debug 1"]
style pre_task_87f2b15f stroke:#a4288c,fill:#ffffff
role_5914bd45 --> |"1"| pre_task_87f2b15f
linkStyle 42 stroke:#a4288c,color:#a4288c
pre_task_64224a5c["fake_role : Debug 2"]
style pre_task_64224a5c stroke:#a4288c,fill:#ffffff
role_5914bd45 --> |"2"| pre_task_64224a5c
linkStyle 43 stroke:#a4288c,color:#a4288c
pre_task_eaf098d3["fake_role : Debug 3 with double quote "here" in the name"]
style pre_task_eaf098d3 stroke:#a4288c,fill:#ffffff
role_5914bd45 --> |"3"| pre_task_eaf098d3
linkStyle 44 stroke:#a4288c,color:#a4288c
%% End of the role 'fake_role'
%% Start of the block 'Block in pre task'
block_59e01f41["[block] Block in pre task"]
style block_59e01f41 fill:#a4288c,color:#ffffff,stroke:#a4288c
play_74990123 --> |"2"| block_59e01f41
linkStyle 45 stroke:#a4288c,color:#a4288c
subgraph subgraph_block_59e01f41["Block in pre task "]
pre_task_d56eed17["debug"]
style pre_task_d56eed17 stroke:#a4288c,fill:#ffffff
block_59e01f41 --> |"1"| pre_task_d56eed17
linkStyle 46 stroke:#a4288c,color:#a4288c
end
%% End of the block 'Block in pre task'
task_13ae5b2d["[task] Install tree"]
style task_13ae5b2d stroke:#a4288c,fill:#ffffff
play_74990123 --> |"3"| task_13ae5b2d
linkStyle 47 stroke:#a4288c,color:#a4288c
%% Start of the block 'Install Apache'
block_58464279["[block] Install Apache"]
style block_58464279 fill:#a4288c,color:#ffffff,stroke:#a4288c
play_74990123 --> |"4 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| block_58464279
linkStyle 48 stroke:#a4288c,color:#a4288c
subgraph subgraph_block_58464279["Install Apache "]
task_3c6e5034["Install some packages"]
style task_3c6e5034 stroke:#a4288c,fill:#ffffff
block_58464279 --> |"1 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_3c6e5034
linkStyle 49 stroke:#a4288c,color:#a4288c
task_7f997d4e["template"]
style task_7f997d4e stroke:#a4288c,fill:#ffffff
block_58464279 --> |"2 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_7f997d4e
linkStyle 50 stroke:#a4288c,color:#a4288c
%% Start of the block ''
block_58e72e2c["[block] "]
style block_58e72e2c fill:#a4288c,color:#ffffff,stroke:#a4288c
block_58464279 --> |"3 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| block_58e72e2c
linkStyle 51 stroke:#a4288c,color:#a4288c
subgraph subgraph_block_58e72e2c[" "]
task_752a43fc["get_url"]
style task_752a43fc stroke:#a4288c,fill:#ffffff
block_58e72e2c --> |"1 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6') and True]"| task_752a43fc
linkStyle 52 stroke:#a4288c,color:#a4288c
task_b31070fc["command"]
style task_b31070fc stroke:#a4288c,fill:#ffffff
block_58e72e2c --> |"2 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_b31070fc
linkStyle 53 stroke:#a4288c,color:#a4288c
end
%% End of the block ''
task_4ff99c46["service"]
style task_4ff99c46 stroke:#a4288c,fill:#ffffff
block_58464279 --> |"4 [when: (ansible_facts['distribution'] == 'CentOS' and ansible_facts['distribution_major_version'] == '6')]"| task_4ff99c46
linkStyle 54 stroke:#a4288c,color:#a4288c
end
%% End of the block 'Install Apache'
task_27e5fe68["[task] Create a username for tomcat"]
style task_27e5fe68 stroke:#a4288c,fill:#ffffff
play_74990123 --> |"5"| task_27e5fe68
linkStyle 55 stroke:#a4288c,color:#a4288c
post_task_b09e48f3["[post_task] Debug"]
style post_task_b09e48f3 stroke:#a4288c,fill:#ffffff
play_74990123 --> |"6"| post_task_b09e48f3
linkStyle 56 stroke:#a4288c,color:#a4288c
%% Start of the block 'My post task block'
block_644a319d["[block] My post task block"]
style block_644a319d fill:#a4288c,color:#ffffff,stroke:#a4288c
play_74990123 --> |"7"| block_644a319d
linkStyle 57 stroke:#a4288c,color:#a4288c
subgraph subgraph_block_644a319d["My post task block "]
post_task_e6f19df5["template"]
style post_task_e6f19df5 stroke:#a4288c,fill:#ffffff
block_644a319d --> |"1"| post_task_e6f19df5
linkStyle 58 stroke:#a4288c,color:#a4288c
end
%% End of the block 'My post task block'
%% End of the play 'Play: all (0)'
%% End of the playbook 'tests/fixtures/with_block.yml'
```
Note on block: Since `block`s are logical group of tasks, the conditional `when` is not displayed on the edges pointing

View file

@ -27,7 +27,7 @@ from ansibleplaybookgrapher.utils import merge_dicts
from .graph_model import PlaybookNode, PlayNode, TaskNode, RoleNode, BlockNode
from .parser import PlaybookParser
__version__ = "2.0.0-dev2"
__version__ = "2.0.0"
__prog__ = "ansible-playbook-grapher"
display = Display()