Files
emilandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> ad969f1c4e
CI / auto-merge (pull_request) Waiting to run
CI / validate (pull_request) Waiting to run
feat: extract reusable components from infra and grm into devx
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>
2026-07-22 22:54:39 +02:00
..