Public Access
Extract generic, reusable CI/CD and utility modules from the infra and grm repositories into the devx package, deduplicating code and promoting reusability across oblachno-oss projects. New utility modules: - devx.utils.ui.say() — unified click.echo + logging output - devx.utils.api.APIClient — base HTTP API client class with retry logic - devx.utils.jinja — Jinja2 environment helpers with Ansible-compatible filters New CI/tool modules: - devx.ci.cancel_superseded_runs — cancel in-flight CI runs for same PR - devx.ci.check_workflow_artifact_deps — verify artifact download deps - devx.ci.check_workflow_tofu_init — verify tofu-state jobs have tofu-init - devx.tools.check_docker_init — check Docker Compose healthcheck + init - devx.tools.check_ansible_set_fact_to_json — check set_fact to_json misuse - devx.tools.check_alert_rules — validate Prometheus alert rules with promtool i18n configurability: - configure_i18n() allows downstream projects to use custom env var names (for example, GRM_LANG instead of DEVX_LANG) Dependencies: - Add jinja2 and pyyaml as core dependencies (previously in deploy extras) Closes DEVX-145 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>