Split build and tests to reduce numbers of URSim startups - #1910
Open
urfeex wants to merge 48 commits into
Open
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1910 +/- ##
========================================
+ Coverage 3.59% 6.77% +3.18%
========================================
Files 13 39 +26
Lines 947 4800 +3853
Branches 152 560 +408
========================================
+ Hits 34 325 +291
- Misses 843 4467 +3624
+ Partials 70 8 -62
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This way we can start the robots with confirmed safety
This is a robot wait script that works for all PolyScope versions.
Using __name__ doesn't work
When that test is run multiple times because of parametrization, consecutive runs will fail, as the program already exists. Therefore, skip if the target program is already on the target robot.
Now that we mount a program folder specifically, this should not be necessary anymore.
Since the robot is effectively still moving when the trajectory is canceled, the exact value is very timing-dependent. However, we don't record the joint state not necessarily at exactly the same time at which the trajectory is aborted. Hence, we have to be a bit more tolerant on that. It's important that we don't move further to the other points in the trajectory.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Reviewed by Cursor Bugbot for commit 96a3280. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Our current approach towards running integration tests doesn't scale well. We're spending a lot of time setting up and tearing down simulators.
This PR aims at
Note
Medium Risk
Changes how CI runs and how integration tests assume URSim lifecycle (shared instance + dashboard resets), but scope is mostly CI and test harness with documented matrix behavior; no production driver runtime path changes.
Overview
CI is split so one industrial_ci build compiles the workspace, runs non-URSim tests (
colcon testwithctest -LE ursim), caches the workspace, and publishes the committed ICI Docker image. Three parallel integration jobs restore that workspace, load the same image, start a single URSim per matrix row (ur30/latest,ur15/10.12.0,ur10/3.15.8), then run labelled integration tests against that shared simulator.Shared-URSim tests are tagged
ursimin CMake; power-cycle /reset_ursim_statecases also getdashboard_g5, which PolyScope X jobs skip viactest -L ursim -LE dashboard_g5. Launch helpers no longer spawn URSim per test—they expectUR_CI_ROBOT_IP/UR_CI_UR_TYPEand usewait_robot_booted.py(dashboard or Robot API) instead of only the dashboard wait script.reset_ursim_stateanddetect_polyscope_familycentralize cleanup and version-specific skips (e.g.dashboard_client.py).The in-repo
.github/dockerursimimage stack is removed; CI usesstart_ursim.shwith versioned program storage underursim_storage.ci_status.mddocuments the two-phase layout and local reproduction.Reviewed by Cursor Bugbot for commit 9c74ea1. Bugbot is set up for automated code reviews on this repo. Configure here.