Skip to content

Commit

Permalink
Document DevTools project changes
Browse files Browse the repository at this point in the history
- update project names after renames
- update documentation to include new projects
- sort projects based on their current maintenance status
  • Loading branch information
ssbarnea committed Nov 14, 2023
1 parent 0e4a7a0 commit 6f0c5c6
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 44 deletions.
4 changes: 0 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ repos:
hooks:
- id: prettier
always_run: true
- repo: https://github.com/PyCQA/doc8
rev: "v1.1.1"
hooks:
- id: doc8
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
Expand Down
116 changes: 89 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

This repository is used to share practices, workflows and decisions affecting projects maintained by Ansible DevTools team.

## Main devtools project dependencies
## Python DevTools project dependencies

It should be noted that our vscode extension would either depend on `ansible-dev-tools` python package or directly use the `creator-ee` container (execution environment).

```mermaid
graph LR;
Expand All @@ -12,51 +14,111 @@ graph LR;
classDef thirdpartyclass fill:#9f6,stroke:#9f6,color:#333;
classDef collectionclass fill:#c00,stroke:#c00,color:#fff;
classDef pyclass fill:#09f,stroke:#09f,color:#fff;
classDef ghaclass fill:#ee0,stroke:#ee0,color:#000;
ansible-lint-action --> creator-ee;
creator-ee --> ansible-lint;
subgraph supported
ansible-lint
ansible-navigator
end
subgraph tech-preview
ansible-development-environment
ansible-creator
pytest-ansible
tox-ansible
molecule
end
creator-ee:::containerclass --> ansible-dev-tools;
ansible-dev-tools --> ansible-lint;
ansible-dev-tools --> ansible-navigator;
ansible-dev-tools --> molecule;
ansible-lint --> ansible-compat;
ansible-compat -.-> community.molecule;
molecule --> ansible-compat;
molecule -.-> community.molecule:::collectionclass;
creator-ee:::containerclass --> molecule;
vscode-ansible:::tsclass --> ansible-language-server;
vscode-ansible:::tsclass --> vscode-yaml;
ansible-language-server -.-> creator-ee;
molecule-podman --> molecule;
ansible-navigator -.-> ansible-lint;
ansible-navigator -.-> creator-ee;
ansible-lint:::pyclass;
ansible-compat:::pyclass;
molecule:::pyclass;
molecule-podman:::pyclass;
ansible-navigator:::pyclass;
ansible-language-server:::tsclass;
vscode-yaml:::tsclass;
ansible-lint-action:::ghaclass;
click ansible-lint-action href "https://github.com/ansible-community/ansible-lint-action"
ansible-dev-tools --> ansible-development-environment;
ansible-dev-tools --> ansible-creator;
ansible-dev-tools --> pytest-ansible;
ansible-dev-tools --> tox-ansible;
ansible-compat:::pyclass;
ansible-creator:::pyclass;
ansible-dev-tools:::pyclass;
ansible-development-environment:::pyclass;
ansible-lint:::pyclass;
ansible-navigator:::pyclass;
molecule:::pyclass;
tox-ansible:::pyclass;
pytest-ansible:::pyclass;
click ansible-development-environment "https://github.com/ansible/ansible-development-environment"
click community.molecule "https://github.com/ansible-collections/community.molecule"
click molecule href "https://github.com/ansible/molecule"
click creator-ee href "https://github.com/ansible/creator-ee"
click ansible-lint href "https://github.com/ansible/ansible-lint"
click ansible-compat href "https://github.com/ansible/ansible-compat"
click ansible-navigator href "https://github.com/ansible/ansible-navigator"
click ansible-creator href "https://github.com/ansible/ansible-creator"
click tox-ansible href "https://github.com/ansible/tox-ansible"
click pytest-ansible href "https://github.com/ansible/pytest-ansible"
```

Note:

1. [vscode-yaml](https://github.com/redhat-developer/vscode-yaml) project is not directly supported by Ansible devtools team.
2. dotted lines are either test, build or optional requirements
3. 📘 python, 📕 ansible collection, 📗 container
4. `community.molecule` is only a test dependency of molecule core.

## TypeScript Dependencies (extension)

```mermaid
graph LR;
classDef tsclass fill:#f90,stroke:#f90,color:#333;
classDef containerclass fill:#060,stroke:#060,color:#fff;
classDef thirdpartyclass fill:#9f6,stroke:#9f6,color:#333;
vscode-ansible:::tsclass --> ansible-language-server;
vscode-ansible:::tsclass --> vscode-yaml;
vscode-yaml:::tsclass;
ansible-language-server:::tsclass;
click ansible-development-environment "https://github.com/ansible/ansible-development-environment"
click community.molecule "https://github.com/ansible-collections/community.molecule"
click molecule href "https://github.com/ansible-community/molecule"
click molecule-podman href "https://github.com/ansible-community/molecule-podman"
click creator-ee href "https://github.com/ansible/creator-ee"
click ansible-lint href "https://github.com/ansible/ansible-lint"
click ansible-compat href "https://github.com/ansible/ansible-compat"
click ansible-navigator href "https://github.com/ansible/ansible-navigator"
click ansible-language-server href "https://github.com/ansible/ansible-language-server"
click vscode-ansible href "https://github.com/ansible/vscode-ansible"
click vscode-yaml href "https://github.com/redhat-developer/vscode-yaml"
```

Note:
## Collections included in creator-ee

1. [vscode-yaml](https://github.com/redhat-developer/vscode-yaml) project is not directly supported by Ansible devtools team.
2. dotted lines are either test, build or optional requirements
3. 📘 python, 📙 typescript, 📕 ansible collection, 📗 container 📒 github action
`creator-ee` execution environment is a development container that contains
most of the most important tools used in the development and testing of collections. Still,
while we bundle several collections in it, you need to be warned that **we might
remove any included collection without notice** if that prevents us from
building the container.

```mermaid
graph LR;
creator-ee --> ansible.posix;
creator-ee --> ansible.windows;
creator-ee --> awx.awx;
creator-ee --> containers.podman;
creator-ee --> kubernetes.core;
creator-ee --> redhatinsights.insights;
creator-ee --> theforeman.foreman;
```

## Molecule ecosystem

Expand Down
35 changes: 22 additions & 13 deletions config/devtools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,31 @@
# Not all these repos are fully managed or maintained by the team.
# We aim to use this file when performing maintenance and audit.
repos:
- ansible-community/ansible-cdk
- ansible-community/molecule
- ansible-community/molecule-plugins # nurtured
- ansible-community/protogen # deprecated?
- ansible-community/pytest-ansible
- ansible-community/role2collection
- ansible/ansible-compat
# primary projects
- ansible/ansible-dev-tools # former cdk/sdk, the devtools 'bundle'
- ansible/ansible-language-server
- ansible/ansible-lint
- ansible/ansible-lint-action
- ansible/ansible-navigator
- ansible/creator-ee
- ansible/devtools
- ansible/mkdocs-ansible
- ansible/creator-ee # our execution environment
- ansible/molecule
- ansible/vscode-ansible
# experimental / tech-preview
- ansible/ansible-creator # scaffolding (templating) for new content
- ansible/ansible-development-environment # former pip4a (venv installer)
- ansible/pytest-ansible
- ansible/tox-ansible
# auxiliary (usually dependencies)
- ansible/ansible-compat
- ansible/mkdocs-ansible
- ansible/team-devtools
- pycontribs/enrich
- pycontribs/selinux
- pycontribs/subprocess-tee
- tox-dev/tox-ansible
- ansible-collections/community.molecule
# nurtured (helped)

- ansible-community/molecule-plugins
# experimental, unmaintained or obsoleted:
# - ansible/ansible-lint-action
# - pycontribs/selinux
# - ansible-community/protogen # deprecated?
# - ansible-community/role2collection

0 comments on commit 6f0c5c6

Please sign in to comment.