-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[build] Separate rust from all: namespace #16995
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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