refactor(github): add GraphQL branch query adapter#40177
Merged
viceice merged 5 commits intorenovatebot:mainfrom Dec 28, 2025
Merged
refactor(github): add GraphQL branch query adapter#40177viceice merged 5 commits intorenovatebot:mainfrom
viceice merged 5 commits intorenovatebot:mainfrom
Conversation
4 tasks
28da603 to
b7745d7
Compare
Add infrastructure for querying GitHub branches via GraphQL: - Add branches-query-adapter following the tags-query-adapter pattern - Add GithubBranchItem type - Export queryBranches function - Register cache namespace
b7745d7 to
6cf4413
Compare
Replace direct comparison of `undefined` with the `is.undefined` helper for consistency.
viceice
approved these changes
Dec 28, 2025
Contributor
|
🎉 This PR is included in version 42.66.12 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
renovate Bot
added a commit
to sdwilsh/ansible-playbooks
that referenced
this pull request
Jan 3, 2026
##### [\`42.66.14\`](https://github.com/renovatebot/renovate/releases/tag/42.66.14) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.6 (main) ([#40207](renovatebot/renovate#40207)) ([ac0e6ae](renovatebot/renovate@ac0e6ae)) --- ##### [\`42.66.13\`](https://github.com/renovatebot/renovate/releases/tag/42.66.13) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.5 (main) ([#40206](renovatebot/renovate#40206)) ([a7d4425](renovatebot/renovate@a7d4425)) ##### Miscellaneous Chores - **eslint:** increase heap size to prevent OOM errors ([#40183](renovatebot/renovate#40183)) ([6743a79](renovatebot/renovate@6743a79)) ##### Code Refactoring - **config:** enable incremental TypeScript builds ([#40184](renovatebot/renovate#40184)) ([cc08ce0](renovatebot/renovate@cc08ce0)) - **platform/local:** use shared `rawExec` for commands ([#40200](renovatebot/renovate#40200)) ([a0de103](renovatebot/renovate@a0de103)) --- ##### [\`42.66.12\`](https://github.com/renovatebot/renovate/releases/tag/42.66.12) ##### Bug Fixes - **types:** correct comments for error types ([#40202](renovatebot/renovate#40202)) ([ef09ba0](renovatebot/renovate@ef09ba0)) ##### Documentation - update references to renovate/renovate (main) ([#40188](renovatebot/renovate#40188)) ([f31798a](renovatebot/renovate@f31798a)) ##### Miscellaneous Chores - clarify security testing against Mend-hosted infra ([#40197](renovatebot/renovate#40197)) ([bd365e8](renovatebot/renovate@bd365e8)) - **deps:** update containerbase/internal-tools action to v3.14.40 (main) ([#40190](renovatebot/renovate#40190)) ([4bcc400](renovatebot/renovate@4bcc400)) - **deps:** update containerbase/internal-tools action to v3.14.41 (main) ([#40194](renovatebot/renovate#40194)) ([00706e3](renovatebot/renovate@00706e3)) - **deps:** update dependency [@containerbase/eslint-plugin](https://github.com/containerbase/eslint-plugin) to v1.1.24 (main) ([#40191](renovatebot/renovate#40191)) ([40c49e6](renovatebot/renovate@40c49e6)) - **deps:** update dependency [@containerbase/istanbul-reports-html](https://github.com/containerbase/istanbul-reports-html) to v1.1.21 (main) ([#40192](renovatebot/renovate#40192)) ([dc8d9f9](renovatebot/renovate@dc8d9f9)) - **deps:** update dependency [@containerbase/semantic-release-pnpm](https://github.com/containerbase/semantic-release-pnpm) to v1.3.12 (main) ([#40193](renovatebot/renovate#40193)) ([f4663e7](renovatebot/renovate@f4663e7)) - **deps:** update dependency renovatebot/github-action to v44.2.2 (main) ([#40195](renovatebot/renovate#40195)) ([9ef65b9](renovatebot/renovate@9ef65b9)) - **deps:** update dependency typescript-eslint to v8.50.1 (main) ([#40204](renovatebot/renovate#40204)) ([ab6bfa5](renovatebot/renovate@ab6bfa5)) ##### Code Refactoring - **github:** add GraphQL branch query adapter ([#40177](renovatebot/renovate#40177)) ([65a961c](renovatebot/renovate@65a961c)) --- ##### [\`42.66.11\`](https://github.com/renovatebot/renovate/releases/tag/42.66.11) ##### Bug Fixes - **cache:** use `bitbucket-server` as platform cache key ([#40168](renovatebot/renovate#40168)) ([fb15aa4](renovatebot/renovate@fb15aa4)) ##### Miscellaneous Chores - **build:** exclude nested `node_modules` from tsconfig ([#40179](renovatebot/renovate#40179)) ([4b8803d](renovatebot/renovate@4b8803d)) --- ##### [\`42.66.10\`](https://github.com/renovatebot/renovate/releases/tag/42.66.10) ##### Bug Fixes - **manager/gradle:** ignore DependencySubstitution modules ([#39965](renovatebot/renovate#39965)) ([4392c1c](renovatebot/renovate@4392c1c)) --- ##### [\`42.66.9\`](https://github.com/renovatebot/renovate/releases/tag/42.66.9) ##### Build System - **deps:** update dependency re2 to v1.23.0 (main) ([#40173](renovatebot/renovate#40173)) ([76db2ee](renovatebot/renovate@76db2ee))
renovate Bot
added a commit
to sdwilsh/ansible-playbooks
that referenced
this pull request
Jan 3, 2026
##### [\`42.70.2\`](https://github.com/renovatebot/renovate/releases/tag/42.70.2) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.10 (main) ([#40256](renovatebot/renovate#40256)) ([5b94718](renovatebot/renovate@5b94718)) --- ##### [\`42.70.1\`](https://github.com/renovatebot/renovate/releases/tag/42.70.1) ##### Bug Fixes - **deps:** update ghcr.io/containerbase/sidecar docker tag to v13.25.20 (main) ([#40255](renovatebot/renovate#40255)) ([2a642a7](renovatebot/renovate@2a642a7)) ##### Miscellaneous Chores - **deps:** update ghcr.io/containerbase/devcontainer docker tag to v13.25.20 (main) ([#40254](renovatebot/renovate#40254)) ([605af72](renovatebot/renovate@605af72)) --- ##### [\`42.70.0\`](https://github.com/renovatebot/renovate/releases/tag/42.70.0) ##### Features - **manager/mise:** add conan to short tool names ([#40246](renovatebot/renovate#40246)) ([e3e7327](renovatebot/renovate@e3e7327)) ##### Miscellaneous Chores - **deps:** lock file maintenance (main) ([#40189](renovatebot/renovate#40189)) ([853c011](renovatebot/renovate@853c011)) - **deps:** update containerbase/internal-tools action to v3.14.43 (main) ([#40247](renovatebot/renovate#40247)) ([4f6f488](renovatebot/renovate@4f6f488)) - **deps:** update containerbase/internal-tools action to v3.14.44 (main) ([#40253](renovatebot/renovate#40253)) ([fdea8ea](renovatebot/renovate@fdea8ea)) - **deps:** update jaegertracing/jaeger docker tag to v2.14.0 (main) ([#40249](renovatebot/renovate#40249)) ([d3b84c4](renovatebot/renovate@d3b84c4)) - don't run `vitest` against `dist` folder ([#40227](renovatebot/renovate#40227)) ([3976e45](renovatebot/renovate@3976e45)) --- ##### [\`42.69.2\`](https://github.com/renovatebot/renovate/releases/tag/42.69.2) ##### Miscellaneous Chores - **instrumentation:** use stricter type for `attributes` ([#39768](renovatebot/renovate#39768)) ([5d62022](renovatebot/renovate@5d62022)) ##### Build System - **deps:** update aws-sdk-js-v3 monorepo to v3.958.0 (main) ([#40245](renovatebot/renovate#40245)) ([5780446](renovatebot/renovate@5780446)) --- ##### [\`42.69.1\`](https://github.com/renovatebot/renovate/releases/tag/42.69.1) ##### Bug Fixes - **util/exec:** remove `hash` for Containerbase installs ([#40234](renovatebot/renovate#40234)) ([eda8991](renovatebot/renovate@eda8991)), closes [#40231](renovatebot/renovate#40231) --- ##### [\`42.69.0\`](https://github.com/renovatebot/renovate/releases/tag/42.69.0) ##### Features - **self-hosted:** allow choice of `shell: true` for `postUpgradeTasks` ([#40229](renovatebot/renovate#40229)) ([cbe1d04](renovatebot/renovate@cbe1d04)) --- ##### [\`42.68.5\`](https://github.com/renovatebot/renovate/releases/tag/42.68.5) ##### Bug Fixes - **postUpgradeTasks:** always run commands with `shell` mode ([140a777](renovatebot/renovate@140a777)) - **util/exec:** don't use `shell` by default ([f430552](renovatebot/renovate@f430552)) ##### Documentation - **self-hosting:** note risk of `postUpgradeTasks` with shell execution ([d2872e2](renovatebot/renovate@d2872e2)) ##### Code Refactoring - **github-actions:** Simplify line parsing ([#40216](renovatebot/renovate#40216)) ([fb80abb](renovatebot/renovate@fb80abb)) - **util/exec:** specify the args array for `execa` ([a0a84a4](renovatebot/renovate@a0a84a4)) - **util/exec:** use spawnargs to return error messages ([b19c3ee](renovatebot/renovate@b19c3ee)) ##### Tests - only validate subset of arguments to `exec` ([bebff1c](renovatebot/renovate@bebff1c)) - remove `encoding` from stubs ([#40221](renovatebot/renovate#40221)) ([8fab5f0](renovatebot/renovate@8fab5f0)) - **util/exec:** clarify existing behaviour of `shell` parameter ([d0bee7f](renovatebot/renovate@d0bee7f)) - **util/exec:** document ability to use arguments with spaces ([c5c98ea](renovatebot/renovate@c5c98ea)) --- ##### [\`42.68.4\`](https://github.com/renovatebot/renovate/releases/tag/42.68.4) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.9 (main) ([#40224](renovatebot/renovate#40224)) ([51d097e](renovatebot/renovate@51d097e)) --- ##### [\`42.68.3\`](https://github.com/renovatebot/renovate/releases/tag/42.68.3) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.8 (main) ([#40223](renovatebot/renovate#40223)) ([847413f](renovatebot/renovate@847413f)) ##### Miscellaneous Chores - **deps:** update python:3.14 docker digest to [`f05033a`](renovatebot/renovate@f05033a) (main) ([#40222](renovatebot/renovate#40222)) ([021ace6](renovatebot/renovate@021ace6)) --- ##### [\`42.68.2\`](https://github.com/renovatebot/renovate/releases/tag/42.68.2) ##### Bug Fixes - **deps:** update ghcr.io/containerbase/sidecar docker tag to v13.25.19 (main) ([#40219](renovatebot/renovate#40219)) ([16a1325](renovatebot/renovate@16a1325)) - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.7 (main) ([#40220](renovatebot/renovate#40220)) ([9d6553d](renovatebot/renovate@9d6553d)) --- ##### [\`42.68.1\`](https://github.com/renovatebot/renovate/releases/tag/42.68.1) ##### Bug Fixes - **util/exec:** migrate to `execa` for command execution ([#40212](renovatebot/renovate#40212)) ([e773b32](renovatebot/renovate@e773b32)) ##### Miscellaneous Chores - **deps:** update dependency pnpm to v10.26.2 (main) ([#40217](renovatebot/renovate#40217)) ([fdbeaba](renovatebot/renovate@fdbeaba)) - **deps:** update ghcr.io/containerbase/devcontainer docker tag to v13.25.19 (main) ([#40218](renovatebot/renovate#40218)) ([3d8cca4](renovatebot/renovate@3d8cca4)) --- ##### [\`42.68.0\`](https://github.com/renovatebot/renovate/releases/tag/42.68.0) ##### Features - Add `exact` versioning ([#40098](renovatebot/renovate#40098)) ([22721ed](renovatebot/renovate@22721ed)) ##### Miscellaneous Chores - **deps:** update containerbase/internal-tools action to v3.14.42 (main) ([#40214](renovatebot/renovate#40214)) ([73c14df](renovatebot/renovate@73c14df)) --- ##### [\`42.67.0\`](https://github.com/renovatebot/renovate/releases/tag/42.67.0) ##### Features - **typst:** Update datasource to use official registry API ([#38982](renovatebot/renovate#38982)) ([151d78f](renovatebot/renovate@151d78f)) ##### Documentation - remove announcement bar properly ([#40164](renovatebot/renovate#40164)) ([99664ea](renovatebot/renovate@99664ea)) ##### Miscellaneous Chores - **deps:** update python:3.14 docker digest to [`5279485`](renovatebot/renovate@5279485) (main) ([#40211](renovatebot/renovate#40211)) ([4c7edaf](renovatebot/renovate@4c7edaf)) - **deps:** update python:3.14 docker digest to [`5fdc8eb`](renovatebot/renovate@5fdc8eb) (main) ([#40210](renovatebot/renovate#40210)) ([14b4782](renovatebot/renovate@14b4782)) - **deps:** update python:3.14 docker digest to [`8797f8e`](renovatebot/renovate@8797f8e) (main) ([#40209](renovatebot/renovate#40209)) ([e1d620e](renovatebot/renovate@e1d620e)) ##### Code Refactoring - **util/exec:** remove deprecated `encoding` property ([#40199](renovatebot/renovate#40199)) ([39bfc09](renovatebot/renovate@39bfc09)) --- ##### [\`42.66.14\`](https://github.com/renovatebot/renovate/releases/tag/42.66.14) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.6 (main) ([#40207](renovatebot/renovate#40207)) ([ac0e6ae](renovatebot/renovate@ac0e6ae)) --- ##### [\`42.66.13\`](https://github.com/renovatebot/renovate/releases/tag/42.66.13) ##### Bug Fixes - **deps:** update ghcr.io/renovatebot/base-image docker tag to v12.20.5 (main) ([#40206](renovatebot/renovate#40206)) ([a7d4425](renovatebot/renovate@a7d4425)) ##### Miscellaneous Chores - **eslint:** increase heap size to prevent OOM errors ([#40183](renovatebot/renovate#40183)) ([6743a79](renovatebot/renovate@6743a79)) ##### Code Refactoring - **config:** enable incremental TypeScript builds ([#40184](renovatebot/renovate#40184)) ([cc08ce0](renovatebot/renovate@cc08ce0)) - **platform/local:** use shared `rawExec` for commands ([#40200](renovatebot/renovate#40200)) ([a0de103](renovatebot/renovate@a0de103)) --- ##### [\`42.66.12\`](https://github.com/renovatebot/renovate/releases/tag/42.66.12) ##### Bug Fixes - **types:** correct comments for error types ([#40202](renovatebot/renovate#40202)) ([ef09ba0](renovatebot/renovate@ef09ba0)) ##### Documentation - update references to renovate/renovate (main) ([#40188](renovatebot/renovate#40188)) ([f31798a](renovatebot/renovate@f31798a)) ##### Miscellaneous Chores - clarify security testing against Mend-hosted infra ([#40197](renovatebot/renovate#40197)) ([bd365e8](renovatebot/renovate@bd365e8)) - **deps:** update containerbase/internal-tools action to v3.14.40 (main) ([#40190](renovatebot/renovate#40190)) ([4bcc400](renovatebot/renovate@4bcc400)) - **deps:** update containerbase/internal-tools action to v3.14.41 (main) ([#40194](renovatebot/renovate#40194)) ([00706e3](renovatebot/renovate@00706e3)) - **deps:** update dependency [@containerbase/eslint-plugin](https://github.com/containerbase/eslint-plugin) to v1.1.24 (main) ([#40191](renovatebot/renovate#40191)) ([40c49e6](renovatebot/renovate@40c49e6)) - **deps:** update dependency [@containerbase/istanbul-reports-html](https://github.com/containerbase/istanbul-reports-html) to v1.1.21 (main) ([#40192](renovatebot/renovate#40192)) ([dc8d9f9](renovatebot/renovate@dc8d9f9)) - **deps:** update dependency [@containerbase/semantic-release-pnpm](https://github.com/containerbase/semantic-release-pnpm) to v1.3.12 (main) ([#40193](renovatebot/renovate#40193)) ([f4663e7](renovatebot/renovate@f4663e7)) - **deps:** update dependency renovatebot/github-action to v44.2.2 (main) ([#40195](renovatebot/renovate#40195)) ([9ef65b9](renovatebot/renovate@9ef65b9)) - **deps:** update dependency typescript-eslint to v8.50.1 (main) ([#40204](renovatebot/renovate#40204)) ([ab6bfa5](renovatebot/renovate@ab6bfa5)) ##### Code Refactoring - **github:** add GraphQL branch query adapter ([#40177](renovatebot/renovate#40177)) ([65a961c](renovatebot/renovate@65a961c)) --- ##### [\`42.66.11\`](https://github.com/renovatebot/renovate/releases/tag/42.66.11) ##### Bug Fixes - **cache:** use `bitbucket-server` as platform cache key ([#40168](renovatebot/renovate#40168)) ([fb15aa4](renovatebot/renovate@fb15aa4)) ##### Miscellaneous Chores - **build:** exclude nested `node_modules` from tsconfig ([#40179](renovatebot/renovate#40179)) ([4b8803d](renovatebot/renovate@4b8803d)) --- ##### [\`42.66.10\`](https://github.com/renovatebot/renovate/releases/tag/42.66.10) ##### Bug Fixes - **manager/gradle:** ignore DependencySubstitution modules ([#39965](renovatebot/renovate#39965)) ([4392c1c](renovatebot/renovate@4392c1c)) --- ##### [\`42.66.9\`](https://github.com/renovatebot/renovate/releases/tag/42.66.9) ##### Build System - **deps:** update dependency re2 to v1.23.0 (main) ([#40173](renovatebot/renovate#40173)) ([76db2ee](renovatebot/renovate@76db2ee))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Add infrastructure for querying GitHub branches via GraphQL, following the existing
tags-query-adapterpattern:branches-query-adapter.tsfor fetching branch refs with commit timestampsGithubBranchItemtype to graphql typesqueryBranchesfunction from graphql indexgithub-branches-datasource-v1cache namespaceThis is foundational work for #28016.
Context
AI assistance disclosure
Claude Code was used to implement the adapter.
Documentation (please check one with an [x])
How I've tested my work (please select one)