Development repo for the Ansible collection ramondevprivate.common: roles and
modules for my own needs, from managing servers to setting up deployment-specific workflows.
The collection lives in ansible_collections/ramondevprivate/common/, so ansible-test, basedpyright and pytest resolve
ansible_collections.ramondevprivate.common... imports wherever this repo is cloned.
Requires uv.
uv sync --locked # creates .venv with ansible-core, ansible-lint, ruff, basedpyright, pytest, yamllint, commitizen
source .venv/bin/activate
git config core.hooksPath .githooks # commit message check, see CONTRIBUTING.md
uv python install 3.11 # optional: lets ansible-test check the Debian 12 target PythonDependencies only resolve to releases that are at least 7 days old (exclude-newer in pyproject.toml).
Update them with uv lock --upgrade.
Contribution rules (commits, branches, review) are in CONTRIBUTING.md.
From the repo root:
ruff check . && ruff format --check .
basedpyright
pytest
yamllint .
ansible-lint
shellcheck ansible_collections/ramondevprivate/common/tests/integration/targets/fleet_inventory/{runme.sh,bin/*}
uv sync --locked --group docs # once, for the docs checks
docs/build.sh # HTML docs in docs/build/htmlFrom ansible_collections/ramondevprivate/common/:
ansible-test sanity --venv
ansible-test units --venv
ansible-test integration --venv # the role end to end (tests/integration/targets/fleet_inventory/runme.sh)
ANSIBLE_COLLECTIONS_PATH=../../.. antsibull-docs lint-collection-docs --plugin-docs \
--validate-collection-refs all --disallow-unknown-collection-refs . # docs markup and referencesFor development only: to try changes from this checkout in another repo before they are released, add the checkout
to collections_path in that repo's ansible.cfg. To use a released version, install it as described in the
collection README.
[defaults]
collections_path = ~/Dev/ansible-common:~/.ansible/collectionsThen use the role from a playbook in that repo:
- name: Document the fleet
hosts: servers
become: true
roles:
- role: ramondevprivate.common.fleet_inventoryGNU General Public License v3.0 or later, see COPYING.