From 77c9360acfa5a3f70571ab4e2545b4a14f18c16c Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Tue, 14 Nov 2023 13:04:01 +0000 Subject: [PATCH] Document DevTools project changes - update project names after renames - update documentation to include new projects - sort projects based on their current maintenance status --- .pre-commit-config.yaml | 4 --- README.md | 75 +++++++++++++++++++++++++++++------------ config/devtools.yml | 35 ++++++++++++------- 3 files changed, 75 insertions(+), 39 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 15f7607..1b890b5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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: diff --git a/README.md b/README.md index c956884..5b6e32f 100644 --- a/README.md +++ b/README.md @@ -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; @@ -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 diff --git a/config/devtools.yml b/config/devtools.yml index 645d0be..b110f02 100644 --- a/config/devtools.yml +++ b/config/devtools.yml @@ -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