[build] Separate rust from all: namespace#16995
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 ✨Explore these optional code suggestions:
|
||||||||||||
There was a problem hiding this comment.
Pull request overview
This PR separates Selenium Manager (rust) from the all: namespace to reflect its independent release cycle. The all: namespace now refers specifically to "language bindings" (Java, Python, Ruby, Node, .NET), while rust tasks must be called explicitly.
Changes:
- Removed rust from
all:pin,all:update,all:lint,all:version, andall:changelogstasks - Updated task descriptions to say "language bindings" instead of "languages" for clarity
- Added explicit
rust:lintcall to top-levellinttask with-rustskip flag support - Updated workflows to explicitly call
rust:changelogsandrust:versionwhere needed
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Rakefile | Removes rust from all all: namespace tasks, updates descriptions to "language bindings", adds explicit rust:lint to top-level lint task with skip flag support, and adds rust:changelogs to prep_release task |
| .github/workflows/release.yml | Adds explicit rust:version nightly call alongside all:version nightly in reset-version job |
| .github/workflows/pre-release.yml | Adds explicit rust:changelogs call alongside all:changelogs in generate-changelogs job |
User description
Rust stuff is sometimes in all namespace and sometimes not, this just clarifies it
💥 What does this PR do?
Separates rust (Selenium Manager) from the
all:namespace since it has a different release cycle.all:pin,all:update,all:lint,all:version,all:changelogsrust:lintexplicitly to top-levellinttask with-rustskip flag support🔧 Implementation Notes
The
all:namespace now means "language bindings" whilerust:is for Selenium Manager.This matches how releases already work - rust releases separately via its own branch (
rust-release-$version).Workflow changes:
pre-release.yml: Added explicitrust:changelogscallrelease.yml: Added explicitrust:version nightlycall💡 Additional Considerations
If we need one command to include rust we can do what we're doing with lint and putting it in main namespace
🔄 Types of changes
PR Type
Enhancement
Description
Separates Rust/Selenium Manager from
all:namespace tasksRemoves Rust from
all:pin,all:update,all:version,all:changelogsAdds explicit
rust:lintto top-levellinttask with skip supportUpdates task descriptions to clarify "language bindings" vs Rust separation
Updates CI workflows to explicitly call Rust tasks where needed
Diagram Walkthrough
File Walkthrough
Rakefile
Separate Rust from all: namespace tasksRakefile
all:pin,all:update,all:version,all:changelogstasks
rust:lintinvocation to top-levellinttask with-rustskip flag support
"languages"
all:lintto only include language bindings (removed rust fromlist)
pre-release.yml
Add explicit Rust changelogs generation.github/workflows/pre-release.yml
./go rust:changelogscall afterall:changelogsingenerate-changelogs job
release.yml
Add explicit Rust version reset for nightly.github/workflows/release.yml
./go rust:version nightlycall afterall:versionnightlyin reset-version job