Replace hardcoded bazel-selenium references with dynamic path resolution#16976
Replace hardcoded bazel-selenium references with dynamic path resolution#16976titusfortner merged 6 commits intotrunkfrom
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
PR Code Suggestions ✨Latest suggestions up to 204f8c3
Previous suggestions✅ Suggestions up to commit 55602bb
|
|||||||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
This PR aims to replace hardcoded bazel-selenium references with dynamic path resolution to support git worktrees and differently-named checkouts. However, it also includes substantial GitHub Actions workflow refactoring that is unrelated to the stated purpose.
Changes:
- Replaced hardcoded
bazel-seleniumpaths with dynamic resolution usingbazel info output_baseandbazel-binsymlinks - Simplified
.gitignoreto use/bazel-*pattern instead of individual entries - Created a new reusable GitHub Actions workflow for committing changes and refactored five workflow files to use it
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| .gitignore | Replaced individual bazel-* entries with /bazel-* glob pattern to catch all Bazel convenience symlinks |
| README.md | Updated Ruby development paths to use bazel-bin/external/... instead of bazel-selenium/external/... |
| dotnet/private/docfx.bzl | Implemented dynamic execution root resolution via bazel-bin symlink traversal |
| dotnet/update-deps.sh | Changed to use bazel info output_base for finding external dependencies |
| .github/workflows/commit-changes.yml | Created new reusable workflow for applying and committing patch artifacts |
| .github/workflows/release.yml | Refactored to use new reusable commit-changes workflow |
| .github/workflows/pre-release.yml | Refactored to use new reusable commit-changes workflow |
| .github/workflows/pin-browsers.yml | Refactored to use new reusable commit-changes workflow and improved PR creation logic |
| .github/workflows/ci-renovate-rbe.yml | Refactored to use new reusable commit-changes workflow |
| .github/workflows/ci-lint.yml | Refactored to use new reusable commit-changes workflow and improved fork handling |
dc7d762 to
1fb42f9
Compare
1fb42f9 to
204f8c3
Compare
|
this branch was rebased off wrong branch. fixed now. |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
|
Persistent suggestions updated to latest commit 204f8c3 |
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||
…ion (#16976) * Replace hardcoded bazel-selenium references with dynamic path resolution * Validate bazel output_base before constructing external path * Fix EXEC_ROOT path resolution by following symlink before navigating * Use bazel info execution_root for reliable path resolution * Keep bazel-selenium in README for readability
…ion (#16976) * Replace hardcoded bazel-selenium references with dynamic path resolution * Validate bazel output_base before constructing external path * Fix EXEC_ROOT path resolution by following symlink before navigating * Use bazel info execution_root for reliable path resolution * Keep bazel-selenium in README for readability
User description
🔗 Related Issues
None - discovered while working in a git worktree
💥 What does this PR do?
Removes hardcoded
bazel-seleniumreferences that break in git worktrees or differently-named checkouts..gitignore: Replace individualbazel-*entries with/bazel-*glob patternREADME.md: Update Ruby paths to usebazel-bin/external/...instead ofbazel-selenium/external/...dotnet/private/docfx.bzl: Resolve execution root dynamically viabazel-binsymlinkdotnet/update-deps.sh: Usebazel info output_baseto find external dependencies🔧 Implementation Notes
The
bazel-seleniumsymlink name is derived from the workspace name and doesn't exist in worktrees or renamed checkouts. The fixes use stable Bazel paths:bazel-binsymlink always exists and points to<exec_root>/bazel-out/<config>/binbazel info output_basereturns the correct path regardless of workspace name/bazel-*in gitignore catches all Bazel convenience symlinks at the repo root💡 Additional Considerations
None
🔄 Types of changes
PR Type
Bug fix
Description
Replace hardcoded
bazel-seleniumreferences with dynamic path resolutionUse
bazel-binsymlink to resolve execution root in docfx scriptsUse
bazel info output_basefor external dependencies in update-deps.shUpdate Ruby documentation paths to use
bazel-bininstead ofbazel-seleniumDiagram Walkthrough
File Walkthrough
docfx.bzl
Dynamic execution root resolution for docfx scriptsdotnet/private/docfx.bzl
bazel-seleniumpaths with dynamicEXEC_ROOTresolution
bazel-binsymlink
bazel-binjunction withsetlocalscopeEXEC_ROOTfor both dotnet and docfx tool pathsupdate-deps.sh
Dynamic external dependencies resolution via bazel infodotnet/update-deps.sh
bazel-selenium/externalwith dynamicbazel infooutput_baseOUTPUT_BASEexists before constructing external directorypath
EXTERNAL_DIRvariable for cleaner path constructionbazel infoandfindcommandsREADME.md
Update Ruby development paths to use bazel-binREADME.md
bazel-selenium/external/bundle/bin/rdbgto
bazel-bin/external/bundle/bin/rdbgbazel-selenium/external/rules_ruby++ruby+ruby/dist/bin/rubytobazel-bin/external/rules_ruby++ruby+ruby/dist/bin/ruby