mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-11 21:26:44 +00:00
A role's playwright.run_after names the roles its pass runs after; the new playwright_order lookup reads it through role_tests (which now renders Jinja with the queried role as application_id) and orders the round with a stable topological sort, so only constrained roles move. web-app-docs runs after every other invokable role: in CI run 41206003651 (Discourse#2) its pass waited 3126 s for the docs server's Sphinx build while stalwart, bigbluebutton, jitsi and prometheus (~400 s) queued behind it. Cycles, self references, unknown roles and non-list values fail loudly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Role Utilities 🧩
Helpers under utils/roles/ operate on Ansible role artefacts and the dictionaries that mirror them at runtime.
Scope 📋
Modules in utils/roles/ MUST stay focused on data that originates from roles/<role>/ (meta/services.yml, meta/main.yml, vars/, defaults/) or the runtime dictionary that mirrors those files (applications).
Modules in utils/roles/ MUST NOT depend on Ansible plugin loader internals at import time so the same code can be imported from filter plugins, lookup plugins, library modules, the CLI, and tests.
Subpackages 📦
- applications/ helpers around the central
applicationsdict and the role config that feeds it.