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 77c9360
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 39 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
75 changes: 53 additions & 22 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,80 @@ 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;
creator-ee --> ansible-dev-tools;
ansible-lint-action --> creator-ee;
creator-ee --> ansible-lint;
ansible-dev-tools --> ansible-lint;
ansible-dev-tools --> ansible-navigator;
ansible-dev-tools --> molecule;
ansible-dev-tools --> ansible-development-environment;
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;
creator-ee:::containerclass --> ansible-dev-tools;
molecule-podman --> molecule;
ansible-navigator -.-> ansible-lint;
ansible-navigator -.-> creator-ee;
ansible-lint:::pyclass;
ansible-compat:::pyclass;
molecule:::pyclass;
molecule-podman:::pyclass;
ansible-dev-tools:::pyclass;
ansible-development-environment:::pyclass;
ansible-lint:::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"
molecule:::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-community/molecule"
click molecule-podman href "https://github.com/ansible-community/molecule-podman"
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-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:

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
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 creator-ee href "https://github.com/ansible/creator-ee"
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"
```

## Collections included in creator-ee

`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.

```graph LR;
```

## 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 77c9360

Please sign in to comment.