From 4cac0c5cf1800fb19c6df06dcb7c543c17be1a33 Mon Sep 17 00:00:00 2001 From: Patrick Ogenstad Date: Wed, 26 Aug 2026 17:17:14 +0200 Subject: [PATCH 1/2] ci: gate integration tests on unit-test success Add unit-tests to the needs list of integration-tests-latest-infrahub so the expensive huge-runner integration job is skipped when any unit-test matrix leg fails, instead of running in parallel with failing unit tests. --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1cd96ed8..e8ed0073 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -317,7 +317,7 @@ jobs: !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') && needs.files-changed.outputs.python == 'true' - needs: ["prepare-environment", "files-changed", "yaml-lint", "python-lint"] + needs: ["prepare-environment", "files-changed", "yaml-lint", "python-lint", "unit-tests"] runs-on: group: "huge-runners" timeout-minutes: 40 @@ -355,7 +355,7 @@ jobs: # !contains(needs.*.result, 'cancelled') && # needs.files-changed.outputs.python == 'true' && # (github.base_ref == 'stable' || github.base_ref == 'develop') - # needs: ["prepare-environment", "files-changed", "yaml-lint", "python-lint"] + # needs: ["prepare-environment", "files-changed", "yaml-lint", "python-lint", "unit-tests"] # runs-on: # group: "huge-runners" # timeout-minutes: 30 From 9b39ab47206bc7465feab53351eb992f99e56194 Mon Sep 17 00:00:00 2001 From: Infrahub Date: Fri, 28 Aug 2026 13:50:05 +0000 Subject: [PATCH 2/2] chore(release): add release notes for 1.23.1 Build the 1.23.1 changelog section from the two pending towncrier fragments and remove them. The package version is derived from the git tag by hatch-vcs, so there is nothing to bump in pyproject.toml or uv.lock - tagging v1.23.1 after this merges is what sets the version. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 7 +++++++ changelog/+relationship-peer-count.fixed.md | 1 - changelog/1263.fixed.md | 1 - 3 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 changelog/+relationship-peer-count.fixed.md delete mode 100644 changelog/1263.fixed.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e6a7ac0..3ff41d50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,13 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang +## [1.23.1](https://github.com/opsmill/infrahub-sdk-python/tree/v1.23.1) - 2026-08-28 + +### Fixed + +- Fixed `client.branch.validate()` and `infrahubctl branch validate`, which raised a `GraphQLError` against every supported Infrahub server because the mutation requested a `messages` field that was removed from `BranchValidate` in Infrahub 1.1.0. ([#1263](https://github.com/opsmill/infrahub-sdk-python/issues/1263)) +- The queries generated by `all()`, `filters()`, `get()` and relationship `fetch()` no longer request `count` on cardinality-many relationships. The SDK never read that value, and Infrahub resolved it with one extra database query per returned node and per relationship, on top of preventing the peer reads of those nodes from being batched into a single query. + ## [1.23.0](https://github.com/opsmill/infrahub-sdk-python/tree/v1.23.0) - 2026-08-19 ### Removed diff --git a/changelog/+relationship-peer-count.fixed.md b/changelog/+relationship-peer-count.fixed.md deleted file mode 100644 index 66b4a048..00000000 --- a/changelog/+relationship-peer-count.fixed.md +++ /dev/null @@ -1 +0,0 @@ -The queries generated by `all()`, `filters()`, `get()` and relationship `fetch()` no longer request `count` on cardinality-many relationships. The SDK never read that value, and Infrahub resolved it with one extra database query per returned node and per relationship, on top of preventing the peer reads of those nodes from being batched into a single query. diff --git a/changelog/1263.fixed.md b/changelog/1263.fixed.md deleted file mode 100644 index f2a23fd7..00000000 --- a/changelog/1263.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `client.branch.validate()` and `infrahubctl branch validate`, which raised a `GraphQLError` against every supported Infrahub server because the mutation requested a `messages` field that was removed from `BranchValidate` in Infrahub 1.1.0.