• 
      

    Install rbtools into a virtualenv when it isn't already available.

    Review Request #15088 — Created May 29, 2026 and updated

    Information

    Jenkins plugin
    master

    Reviewers

    The setup step for Jenkins jobs was always running
    pip install --user rbtools before applying a patch. If the workspace
    within Jenkins already had a virtualenv this would fail entirely,
    and even if not, it was wasteful to do it every time.

    This now checks whether rbt is already on the PATH and only installs it
    when needed. When it is missing, rbtools is installed into a virtualenv
    in the workspace (reused across builds if present) rather than into the
    user site directory.

    The rbt patch invocation has also been reworked to pass the command as
    an array instead of building a string and then splitting it on whitespace.

    Created a Jenkins testbed and verified that the first time a Review
    Board job was triggered, it created a virtualenv and installed RBTools,
    and thereafeter it reused it.

    Summary ID
    Install rbtools into a virtualenv when it isn't already available.
    The setup step for Jenkins jobs was always running `pip install --user rbtools` before applying a patch. If the workspace within Jenkins already had a virtualenv this would fail entirely, and even if not, it was wasteful to do it every time. This now checks whether rbt is already on the PATH and only installs it when needed. When it is missing, rbtools is installed into a virtualenv in the workspace (reused across builds if present) rather than into the user site directory. The rbt patch invocation has also been reworked to pass the command as an array instead of building a string and then splitting it on whitespace. Testing Done: Created a Jenkins testbed and verified that the first time a Review Board job was triggered, it created a virtualenv and installed RBTools, and thereafeter it reused it.
    98c7a971aec2e206e1dd6941eb830472000707ba
    Description From Last Updated

    Might be worth putting this in the rbintegrations release notes with a note about the new plugin?

    chipx86 chipx86
    Checks run (2 succeeded)
    flake8 passed.
    JSHint passed.
    chipx86
    1. 
        
    2. Show all issues

      Might be worth putting this in the rbintegrations release notes with a note about the new plugin?

    3.