Skip to content

refactor(github): add GraphQL branch query adapter#40177

Merged
viceice merged 5 commits intorenovatebot:mainfrom
zharinov:refactor/github-graphql-branches
Dec 28, 2025
Merged

refactor(github): add GraphQL branch query adapter#40177
viceice merged 5 commits intorenovatebot:mainfrom
zharinov:refactor/github-graphql-branches

Conversation

@zharinov
Copy link
Copy Markdown
Collaborator

Changes

Add infrastructure for querying GitHub branches via GraphQL, following the existing tags-query-adapter pattern:

  • Add branches-query-adapter.ts for fetching branch refs with commit timestamps
  • Add GithubBranchItem type to graphql types
  • Export queryBranches function from graphql index
  • Register github-branches-datasource-v1 cache namespace

This is foundational work for #28016.

Context

  • This doesn't close an Issue, but I accept the risk that this PR may be closed if maintainers disagree with its opening or implementation

AI assistance disclosure

  • Yes — substantive assistance (AI-generated non‑trivial portions of code, tests, or documentation).

Claude Code was used to implement the adapter.

Documentation (please check one with an [x])

  • No documentation update is required

How I've tested my work (please select one)

  • Code inspection only

@zharinov zharinov force-pushed the refactor/github-graphql-branches branch 5 times, most recently from 28da603 to b7745d7 Compare December 27, 2025 22:09
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
@zharinov zharinov force-pushed the refactor/github-graphql-branches branch from b7745d7 to 6cf4413 Compare December 27, 2025 22:32
@viceice viceice added this pull request to the merge queue Dec 28, 2025
Merged via the queue into renovatebot:main with commit 65a961c Dec 28, 2025
41 checks passed
@viceice viceice deleted the refactor/github-graphql-branches branch December 28, 2025 17:21
@github-actions
Copy link
Copy Markdown
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))
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Jan 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants