[build] add renovate dependency workflow#17504
Conversation
Review Summary by QodoReplace Renovate workflow with orchestrated dependency update system
WalkthroughsDescription• Replace reactive Renovate PR approach with orchestrated dispatch workflow • Produce two stable PRs (renovate/minor, renovate/major) instead of many • Run bazel updates, Renovate, and pin tasks in coordinated sequence • Only update PRs when all RBE tests pass Diagramflowchart LR
A["Manual Dispatch"] --> B["Prepare Bazel Updates"]
B --> C["Push Update Branch"]
C --> D["Renovate Minor"]
C --> E["Renovate Major"]
D --> F["Evaluate & Pin Minor"]
E --> G["Evaluate & Pin Major"]
F --> H["Create/Update renovate/minor PR"]
G --> I["Create/Update renovate/major PR"]
File Changes1. .github/workflows/ci-renovate-rbe.yml
|
Code Review by Qodo
1. Patch base ref drift
|
There was a problem hiding this comment.
Pull request overview
Introduces a new manually-dispatched dependency update pipeline that stages Bazel-driven updates, runs Renovate for minor/major updates, repins dependencies, validates via RBE, and then maintains two stable PRs (renovate/minor, renovate/major) instead of many per-dependency PRs.
Changes:
- Add a
workflow_dispatch-triggered orchestration workflow to run Bazel update tasks, run Renovate (minor+major), and then kick off PR promotion. - Add a reusable workflow that repins + tests an eval branch and then creates/updates the stable dependency PR.
- Remove the legacy
ci-renovate-rbe.ymlworkflow that depended on branch naming/title tags.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/renovate-dependency-pr.yml | New reusable workflow to validate/pin an eval branch and promote it into a stable dependency PR. |
| .github/workflows/renovate-dependencies.yml | New dispatch workflow that prepares a temp update branch, runs Renovate for minor/major, and triggers promotion. |
| .github/workflows/ci-renovate-rbe.yml | Removes the previous renovate-branch-driven pin/test workflow. |
|
Persistent review updated to latest commit 7b88946 |
|
Persistent review updated to latest commit fbe66c1 |
|
Persistent review updated to latest commit 7895f48 |
|
Persistent review updated to latest commit d644e2d |
* origin/trunk: (97 commits) [py] update python dependencies (SeleniumHQ#17490) [build] fix renovate reported issues with configuration [build] remove base-ref from renovate workflows it does not work for the use case I had for them [build] add renovate dependency workflow (SeleniumHQ#17504) [build] simplify commit-changes workflow (SeleniumHQ#17503) [build] clarify dependency pin and update tasks (SeleniumHQ#17463) [build] do not rerun or attempt to upload logs unless workflow failure is from the Bazel step [build] fix renovate ignore rules_python to v2 until upstream fixed [build] renovate ignore rules_python until upstream fixed [build] bump rules_closure version (SeleniumHQ#17500) [build] bump rules_jvm_external (SeleniumHQ#17501) [js] remove npm dependency by using bazel for everything (SeleniumHQ#17499) [build] bump ruby versions to latest patch releases (SeleniumHQ#17496) [dotnet] [build] Support deterministic build output (SeleniumHQ#17497) [build] remove renovate update requests pending work done in SeleniumHQ#17427 (SeleniumHQ#17498) [dotnet] [build] Fix remote linkage in SourceLink (SeleniumHQ#17495) [rust] update reqwest to 0.13 (SeleniumHQ#17488) [build] bump low-risk Bazel module dependencies (SeleniumHQ#17494) [dotnet] run format against slnx instead of looping csproj (SeleniumHQ#17483) [build] ignore renovate.json references in renovate recommendations ... # Conflicts: # MODULE.bazel # rust/BUILD.bazel
🔗 Related Issues
Follow up to #17463
Also note that this process is entirely independent from the dashboard here: #13964
The dashboard is for seeing the current status not for creating new PRs
💥 What does this PR do?
Existing
ci-renovate-rbe.ymlkeyed off branch name and PR title tags to run after a Renovate PR to use the bazel task to update pins since renovate doesn't know how to do that. Complicated when there are a ton of PRs being made and constantly in flux.This PR replaces that approach (and Renovate controlled PRs in general) with this orchestrated, dispatch-triggered dependency workflow that produces only two stable PRs (
renovate/minor,renovate/major).Each run:
updatetasks to update things with bazel first to minimize duplicatespintasks on renovate updates🔧 Implementation Notes
🤖 AI assistance
💡 Additional Considerations
🔄 Types of changes