Skip to content

Conversation

@titusfortner
Copy link
Member

@titusfortner titusfortner commented Oct 23, 2025

User description

The ./go rb:local_dev command is builds everything so that all assets/code that needs to be generated in the build process is created so that any tests that need to be run can be run through RubyMine instead of just bazel for better debugging options.

I have my RubyMine set to use the ruby binary stored in the bazel-selenium working directory.
For local Ruby development, if you want to run on RBE, you have to switch to jruby, and every time you change the ruby versions, RubyMine gets unhappy. Running ./go rb:local_dev should fix this, but for some reason it builds the ruby binary, but does not stage it in the bazel-selenium / working directory. Adding a command that requires using the ruby binary forces it to be staged.


PR Type

Enhancement


Description

  • Adds informative message during Ruby binary installation

  • Executes additional Bazel command to stage Ruby binary

  • Ensures Ruby binary is properly placed in working directory


Diagram Walkthrough

flowchart LR
  A["local_dev task"] --> B["Print status message"]
  B --> C["Build bundle"]
  C --> D["Build Ruby"]
  D --> E["Build grid"]
  E --> F["Execute rubocop with dry-run"]
  F --> G["Ruby binary staged in working directory"]
Loading

File Walkthrough

Relevant files
Enhancement
Rakefile
Add Ruby binary staging to local_dev task                               

Rakefile

  • Added user-facing message indicating Ruby installation is in progress
  • Added Bazel command execution with --dry-run flag for rubocop to force
    staging of Ruby binary
  • Included explanatory comment about the purpose of the additional
    command
+3/-0     

@qodo-merge-pro
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
- [ ] Create ticket/issue <!-- /create_ticket --create_ticket=true -->

</details></td></tr>
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
No custom compliance provided

Follow the guide to enable custom compliance check.

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Oct 23, 2025
@titusfortner titusfortner merged commit 5d4972b into trunk Oct 23, 2025
15 checks passed
@titusfortner titusfortner deleted the rb_local_dev branch October 23, 2025 13:53
@qodo-merge-pro
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Remove invalid flags from command

Remove the invalid --test_arg and --dry-run flags from the Bazel.execute call.
The --test_arg flag is only valid for bazel test and will cause the bazel build
command to fail.

Rakefile [754-755]

 # A command like this is required to move ruby binary into working directory
-Bazel.execute('build', %w[--test_arg --dry-run], '@bundle//bin:rubocop')
+Bazel.execute('build', [], '@bundle//bin:rubocop')
  • Apply / Chat
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies that the --test_arg flag is invalid for bazel build, which would cause the local_dev task to fail, thus fixing a bug introduced in the PR.

High
Learned
best practice
Clarify user-facing status message

Make the user-facing message more specific and actionable so users understand
what is happening and how to retry or proceed.

Rakefile [750]

-puts 'installing ruby, this may take a minute'
+puts 'Ensuring Ruby toolchain for local dev (this may take a minute)...'
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Keep API and documentation accurate and consistent by providing clear, actionable user-facing messages that reflect actual behavior and next steps.

Low
  • More

This was referenced Oct 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants