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>
Auto-merge: If all CI checks pass, this PR will be merged automatically.
## Automated PR Review
- Architecture compliance: OK
- Best practices: OK
- Security: OK
- i18n: OK
- Resource management: OK
- Documentation: OK
- Tests: OK
- Commit conventions: OK
No issues found by automated checks.
---
**Auto-merge:** If all CI checks pass, this PR will be merged automatically.
kireto
approved these changes 2026-07-22 20:56:24 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Automated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
Auto-approved: all CI checks passed (validate job).