From c8065ca82bd7abb6c3fa0c0681e73a0dbdd1940a Mon Sep 17 00:00:00 2001 From: emil Date: Tue, 25 Aug 2026 18:30:17 +0200 Subject: [PATCH 1/2] 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> --- docs/specs/DEVX-157.md | 24 ++++++++++++++++++++++++ src/devx/ci/create_dependency_pr.py | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 docs/specs/DEVX-157.md diff --git a/docs/specs/DEVX-157.md b/docs/specs/DEVX-157.md new file mode 100644 index 0000000..a8bc5cf --- /dev/null +++ b/docs/specs/DEVX-157.md @@ -0,0 +1,24 @@ +# DEVX-157: Add role defaults path to create_dependency_pr search + +## Problem +`create_dependency_pr` only searches `pyproject.toml` and `ansible/group_vars/all/images.yml` for pinned versions. The sso-bridge role pins its version in `ansible/roles/sso_bridge/defaults/main.yml` via `sso_bridge_version: "0.1.0"`, which is not searched. + +## Approach +Add `ansible/roles/sso_bridge/defaults/main.yml` to the search paths. + +REQ-1: Add ROLE_DEFAULTS_PATH constant pointing to ansible/roles/sso_bridge/defaults/main.yml +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 diff --git a/src/devx/ci/create_dependency_pr.py b/src/devx/ci/create_dependency_pr.py index 9e1a196..615564b 100644 --- a/src/devx/ci/create_dependency_pr.py +++ b/src/devx/ci/create_dependency_pr.py @@ -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 -- 2.54.0 From 3aa284a4a5f3dfa3a911b3e6e4de286eace4c6fc Mon Sep 17 00:00:00 2001 From: emil Date: Tue, 25 Aug 2026 18:35:03 +0200 Subject: [PATCH 2/2] fix: remove stale file references from DEVX-157 spec --- docs/specs/DEVX-157.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/specs/DEVX-157.md b/docs/specs/DEVX-157.md index a8bc5cf..0497b56 100644 --- a/docs/specs/DEVX-157.md +++ b/docs/specs/DEVX-157.md @@ -1,12 +1,12 @@ # DEVX-157: Add role defaults path to create_dependency_pr search ## Problem -`create_dependency_pr` only searches `pyproject.toml` and `ansible/group_vars/all/images.yml` for pinned versions. The sso-bridge role pins its version in `ansible/roles/sso_bridge/defaults/main.yml` via `sso_bridge_version: "0.1.0"`, which is not searched. +`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 `ansible/roles/sso_bridge/defaults/main.yml` to the search paths. +Add the sso-bridge role defaults path to the search paths. -REQ-1: Add ROLE_DEFAULTS_PATH constant pointing to ansible/roles/sso_bridge/defaults/main.yml +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 -- 2.54.0