Compare commits

...
Author SHA1 Message Date
emil 5807b39766 fix: remove stale file references from DEVX-157 spec 2026-08-25 18:35:03 +02:00
emilandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 175068782b feat: add role defaults path to create_dependency_pr search
Add ansible/roles/sso_bridge/defaults/main.yml to the search paths
so create_dependency_pr can find and bump sso_bridge_version.

Implements: REQ-1, REQ-2

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-25 18:30:17 +02:00
emilandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 14296ffaac fix: update check_pr_size usage example with --repo and --pr-number args
Implements: REQ-1

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-25 00:20:12 +02:00
gitea-actions-bot 7eb11e3261 chore: update badge URLs to commit 3e50818d [skip ci] 2026-08-24 21:53:46 +00:00
emil Userandkireto 0ac2bf4a8c DEVX-156: docs: add consumer repo reference to validate_spec docstring
Co-authored-by: emil User <emil.simeonov@tutanota.com>
2026-08-24 21:52:18 +00:00
6 changed files with 41 additions and 14 deletions
+6 -6
View File
@@ -16,12 +16,12 @@ quality badges.
[![CI](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions/workflows/ci.yml/badge.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![License: GPL-3.0](https://img.shields.io/badge/license-GPL--3.0-blue)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/src/branch/master/LICENSE)
[![Coverage](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/coverage.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Tests](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/tests.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Docs](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/docs.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
[![Code Quality](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/quality.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Version](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/version.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
[![Python](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/python.svg)](https://www.python.org/downloads/)
[![Coverage](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/coverage.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Tests](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/tests.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Docs](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/docs.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
[![Code Quality](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/quality.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Version](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/version.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
[![Python](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/python.svg)](https://www.python.org/downloads/)
## Why devx?
+6 -6
View File
@@ -12,12 +12,12 @@ project to be reusable across all oblachno-oss repositories.
[![CI](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions/workflows/ci.yml/badge.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![License: GPL-3.0](https://img.shields.io/badge/license-GPL--3.0-blue)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/src/branch/master/LICENSE)
[![Coverage](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/coverage.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Tests](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/tests.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Docs](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/docs.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
[![Code Quality](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/quality.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Version](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/version.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
[![Python](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/041c1730e7f7b673a9092cfa3135371069ffd813/python.svg)](https://www.python.org/downloads/)
[![Coverage](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/coverage.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Tests](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/tests.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Docs](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/docs.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
[![Code Quality](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/quality.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
[![Version](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/version.svg)](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
[![Python](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/raw/commit/3e50818d1724735423d2e7f1ec42050055524fc5/python.svg)](https://www.python.org/downloads/)
## Overview
+24
View File
@@ -0,0 +1,24 @@
# DEVX-157: Add role defaults path to create_dependency_pr search
## Problem
`create_dependency_pr` only searches `pyproject.toml` and the infra images vars file for pinned versions. The sso-bridge role pins its version in its role defaults file via `sso_bridge_version`, which is not searched.
## Approach
Add the sso-bridge role defaults path to the search paths.
REQ-1: Add ROLE_DEFAULTS_PATH constant pointing to the sso-bridge role defaults file
REQ-2: Include ROLE_DEFAULTS_PATH in the search loop
## Test Plan
- Verify existing tests pass
- Verify find_pinned_version finds sso_bridge_version in the defaults file
## Deploy Plan
- Merge to master, auto-release new devx version
## Rollback Plan
- Revert the merge commit
## Acceptance Criteria
- [x] REQ-1: ROLE_DEFAULTS_PATH constant added
- [x] REQ-2: search loop includes ROLE_DEFAULTS_PATH
+2 -1
View File
@@ -9,7 +9,8 @@ PRs with the ``refactoring`` label bypass the size check — large but
legitimate refactoring PRs that touch many files in a coordinated way.
Usage:
python -m devx.ci.check_pr_size --base origin/master --head HEAD
python -m devx.ci.check_pr_size --base origin/master --head HEAD \\
--repo oblachno-oss/grm --pr-number 123
In CI, pass ``--github-output`` to set ``pr-size-ok`` and ``pr-size-detail``
for downstream steps.
+2 -1
View File
@@ -38,6 +38,7 @@ load_dotenv()
# Where infra pins dependency versions
PYPROJECT_PATH = "pyproject.toml"
IMAGES_YML_PATH = "ansible/group_vars/all/images.yml"
ROLE_DEFAULTS_PATH = "ansible/roles/sso_bridge/defaults/main.yml"
def find_pinned_version(package: str, file_path: str) -> str | None:
@@ -130,7 +131,7 @@ def cli(
# Find current pinned version
old_version = None
changed_file = None
for f in [PYPROJECT_PATH, IMAGES_YML_PATH]:
for f in [PYPROJECT_PATH, IMAGES_YML_PATH, ROLE_DEFAULTS_PATH]:
old_version = find_pinned_version(package, f)
if old_version:
changed_file = f
+1
View File
@@ -3,6 +3,7 @@
"""Validate that a PR has a spec file with required sections and acceptance criteria.
Spec-driven development gate. Runs in CI before expensive jobs.
Used by grm, infra, sso-bridge, and devx itself.
Validates:
1. A spec file exists at ``docs/specs/<TASK-ID>.md`` (TASK-ID extracted from branch).