From 48ff728f59453986628205000b37362011b24722 Mon Sep 17 00:00:00 2001 From: Bas Zalmstra <4995967+baszalmstra@users.noreply.github.com> Date: Wed, 2 Sep 2026 21:35:33 +0200 Subject: [PATCH] test: configure dependency-aware batching experiment --- pixi.lock | 20 ++--- pixi.toml | 2 +- vinca.yaml | 243 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 254 insertions(+), 11 deletions(-) diff --git a/pixi.lock b/pixi.lock index ec95d4aee..27f981c71 100644 --- a/pixi.lock +++ b/pixi.lock @@ -115,7 +115,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - - conda_source: vinca[be849743] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe + - conda_source: vinca[544ee5fb] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 linux-aarch64-glibc-2-17: - conda: https://prefix.dev/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/backports.zstd-1.7.0-py312h22d1088_0.conda @@ -198,7 +198,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://prefix.dev/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda - - conda_source: vinca[2f07e57d] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe + - conda_source: vinca[061b0b46] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 osx-64: - conda: https://prefix.dev/conda-forge/noarch/boolean.py-5.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -271,7 +271,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-64/yaml-0.2.5-had63097_3.conda - conda: https://prefix.dev/conda-forge/osx-64/zstandard-0.25.0-py312hdc27ec5_3.conda - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda - - conda_source: vinca[e231a206] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe + - conda_source: vinca[b30e492f] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 osx-arm64: - conda: https://prefix.dev/conda-forge/noarch/boolean.py-5.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda @@ -344,7 +344,7 @@ environments: - conda: https://prefix.dev/conda-forge/osx-arm64/yaml-0.2.5-h74c22ad_3.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zstandard-0.25.0-py312hbd136b4_3.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda_source: vinca[9e613799] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe + - conda_source: vinca[c2031b90] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 win-64: - conda: https://prefix.dev/conda-forge/noarch/boolean.py-5.0-pyhd8ed1ab_0.conda - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda @@ -418,7 +418,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://prefix.dev/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_3.conda - conda: https://prefix.dev/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - - conda_source: vinca[e5ba8080] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe + - conda_source: vinca[fc4c5d94] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 packages: - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 @@ -4408,7 +4408,7 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 387535 timestamp: 1786599623274 -- conda_source: vinca[2f07e57d] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe +- conda_source: vinca[061b0b46] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 version: 0.2.0 build: pyh4616a5c_0 subdir: noarch @@ -4464,7 +4464,7 @@ packages: - conda: https://prefix.dev/conda-forge/noarch/tomlkit-0.15.1-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/trove-classifiers-2026.6.1.19-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda -- conda_source: vinca[9e613799] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe +- conda_source: vinca[c2031b90] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 version: 0.2.0 build: pyh4616a5c_0 subdir: noarch @@ -4515,7 +4515,7 @@ packages: - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - conda: https://prefix.dev/conda-forge/osx-arm64/uv-0.12.9-h0e72303_0.conda - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda -- conda_source: vinca[be849743] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe +- conda_source: vinca[544ee5fb] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 version: 0.2.0 build: pyh4616a5c_0 subdir: noarch @@ -4571,7 +4571,7 @@ packages: - conda: https://prefix.dev/conda-forge/noarch/tomlkit-0.15.1-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/trove-classifiers-2026.6.1.19-pyhcf101f3_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda -- conda_source: vinca[e231a206] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe +- conda_source: vinca[b30e492f] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 version: 0.2.0 build: pyh4616a5c_0 subdir: noarch @@ -4621,7 +4621,7 @@ packages: - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda - conda: https://prefix.dev/conda-forge/osx-64/uv-0.12.9-h6c1caad_0.conda - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda -- conda_source: vinca[e5ba8080] @ git+https://github.com/robostack/vinca#4683e080a18be89703b4088c90fca8eaa8620ebe +- conda_source: vinca[fc4c5d94] @ git+https://github.com/baszalmstra/vinca?branch=experimental%2Fworkflow-batching#dd4707299fec2d3b7c51480cabd983c95ad05bd1 version: 0.2.0 build: pyh4616a5c_0 subdir: noarch diff --git a/pixi.toml b/pixi.toml index 5852c45cd..b0810940f 100644 --- a/pixi.toml +++ b/pixi.toml @@ -23,7 +23,7 @@ cmake = "<4.0" # Some git repos may need git-lfs, see https://github.com/RoboStack/ros-jazzy/issues/118 git-lfs = "*" rattler-index = ">=0.27.16" -vinca = { git = "https://github.com/RoboStack/vinca.git" } +vinca = { git = "https://github.com/baszalmstra/vinca.git", branch = "experimental/workflow-batching" } # For local development uncomment: # vinca.path = "../vinca" diff --git a/vinca.yaml b/vinca.yaml index 684f40c0f..cffd10c22 100644 --- a/vinca.yaml +++ b/vinca.yaml @@ -5,6 +5,249 @@ package_name_mode: both pixi_version: 0.78.0 setup_pixi_version: 0.10.2 +github_actions: + batching: + strategy: schedule-and-isolation + max_jobs: 120 + runner_count: 8 + job_overhead: 0.647 + maximum_batch_size: 30 + build_backend_weights: + empty: 0.1 + ament_python: 1.0 + other: 2.0 + cmake: 3.0 + catkin: 6.66 + ament_cmake: 7.72 + package_weights: + ros-jazzy-ackermann-steering-controller: 3.563 + ros-jazzy-admittance-controller: 4.536 + ros-jazzy-apriltag-tools: 0.706 + ros-jazzy-autoware-utils: 1.309 + ros-jazzy-autoware-utils-pcl: 4.736 + ros-jazzy-battery-state-broadcaster: 1.258 + ros-jazzy-bicycle-steering-controller: 3.563 + ros-jazzy-chained-filter-controller: 2.41 + ros-jazzy-chomp-motion-planner: 2.473 + ros-jazzy-clearpath-common: 3.472 + ros-jazzy-clearpath-control: 1.801 + ros-jazzy-clearpath-description: 6.57 + ros-jazzy-clearpath-diagnostics: 3.306 + ros-jazzy-clearpath-generator-common: 1.74 + ros-jazzy-clearpath-manipulators: 3.678 + ros-jazzy-clearpath-manipulators-description: 1.958 + ros-jazzy-clearpath-sensors-description: 1.958 + ros-jazzy-controller-manager: 3.5 + ros-jazzy-costmap-queue: 1.232 + ros-jazzy-depthai-examples: 1.276 + ros-jazzy-depthai-ros-driver: 6.064 + ros-jazzy-desktop: 1.908 + ros-jazzy-desktop-full: 1.043 + ros-jazzy-diff-drive-controller: 2.41 + ros-jazzy-dwb-core: 2.052 + ros-jazzy-dwb-critics: 2.612 + ros-jazzy-dwb-plugins: 2.612 + ros-jazzy-effort-controllers: 4.65 + ros-jazzy-force-torque-sensor-broadcaster: 3.064 + ros-jazzy-forward-command-controller: 3.371 + ros-jazzy-foxglove-bridge: 2.809 + ros-jazzy-gpio-controllers: 3.064 + ros-jazzy-gps-sensor-broadcaster: 0.88 + ros-jazzy-grid-map: 0.263 + ros-jazzy-grid-map-costmap-2d: 6.001 + ros-jazzy-grid-map-demos: 6.001 + ros-jazzy-grid-map-filters: 3.768 + ros-jazzy-grid-map-pcl: 3.768 + ros-jazzy-gripper-controllers: 1.186 + ros-jazzy-gz-ros2-control: 0.328 + ros-jazzy-gz-ros2-control-demos: 0.785 + ros-jazzy-iiwa14-moveit-config: 0.493 + ros-jazzy-iiwa7-moveit-config: 0.493 + ros-jazzy-image-pipeline: 1.841 + ros-jazzy-imu-sensor-broadcaster: 2.373 + ros-jazzy-irobot-create-common-bringup: 5.811 + ros-jazzy-irobot-create-control: 7.064 + ros-jazzy-irobot-create-description: 3.714 + ros-jazzy-irobot-create-gz-bringup: 4.362 + ros-jazzy-irobot-create-gz-plugins: 6.497 + ros-jazzy-irobot-create-gz-sim: 0.08 + ros-jazzy-joint-state-broadcaster: 2.373 + ros-jazzy-joint-trajectory-controller: 2.87 + ros-jazzy-kinova-gen3-7dof-robotiq-2f-85-moveit-config: 1.74 + ros-jazzy-kortex-description: 2.552 + ros-jazzy-lbr-bringup: 0.524 + ros-jazzy-lbr-demos-advanced-cpp: 2.504 + ros-jazzy-lbr-demos-advanced-py: 2.504 + ros-jazzy-lbr-demos-cpp: 3.337 + ros-jazzy-lbr-demos-py: 3.337 + ros-jazzy-lbr-description: 1.493 + ros-jazzy-lbr-fri-ros2: 4.743 + ros-jazzy-lbr-fri-ros2-stack: 3.337 + ros-jazzy-lbr-moveit-cpp: 0.078 + ros-jazzy-lbr-ros2-control: 4.464 + ros-jazzy-livox-ros-driver2: 0.201 + ros-jazzy-mecanum-drive-controller: 2.87 + ros-jazzy-med14-moveit-config: 0.556 + ros-jazzy-med7-moveit-config: 0.556 + ros-jazzy-moveit: 1.803 + ros-jazzy-moveit-core: 2.945 + ros-jazzy-moveit-hybrid-planning: 5.061 + ros-jazzy-moveit-kinematics: 3.676 + ros-jazzy-moveit-planners: 4.663 + ros-jazzy-moveit-planners-chomp: 3.535 + ros-jazzy-moveit-planners-ompl: 3.676 + ros-jazzy-moveit-planners-stomp: 1.051 + ros-jazzy-moveit-plugins: 0.93 + ros-jazzy-moveit-py: 5.061 + ros-jazzy-moveit-resources: 4.934 + ros-jazzy-moveit-resources-fanuc-moveit-config: 0.078 + ros-jazzy-moveit-resources-panda-moveit-config: 0.821 + ros-jazzy-moveit-resources-prbt-ikfast-manipulator-plugin: 2.473 + ros-jazzy-moveit-resources-prbt-moveit-config: 0.972 + ros-jazzy-moveit-resources-prbt-pg70-support: 5.061 + ros-jazzy-moveit-ros: 5.737 + ros-jazzy-moveit-ros-benchmarks: 2.883 + ros-jazzy-moveit-ros-control-interface: 0.93 + ros-jazzy-moveit-ros-move-group: 2.883 + ros-jazzy-moveit-ros-occupancy-map-monitor: 2.473 + ros-jazzy-moveit-ros-perception: 1.869 + ros-jazzy-moveit-ros-planning: 2.55 + ros-jazzy-moveit-ros-planning-interface: 0.972 + ros-jazzy-moveit-ros-robot-interaction: 3.323 + ros-jazzy-moveit-ros-trajectory-cache: 0.524 + ros-jazzy-moveit-ros-visualization: 6.378 + ros-jazzy-moveit-ros-warehouse: 3.323 + ros-jazzy-moveit-runtime: 2.655 + ros-jazzy-moveit-servo: 3.186 + ros-jazzy-moveit-setup-app-plugins: 4.663 + ros-jazzy-moveit-setup-assistant: 2.655 + ros-jazzy-moveit-setup-controllers: 4.663 + ros-jazzy-moveit-setup-core-plugins: 5.45 + ros-jazzy-moveit-setup-framework: 3.186 + ros-jazzy-moveit-setup-srdf-plugins: 5.45 + ros-jazzy-moveit-simple-controller-manager: 0.299 + ros-jazzy-moveit-task-constructor-capabilities: 1.803 + ros-jazzy-moveit-task-constructor-core: 2.655 + ros-jazzy-moveit-task-constructor-demo: 3.472 + ros-jazzy-moveit-visual-tools: 1.869 + ros-jazzy-moveit2-tutorials: 3.472 + ros-jazzy-mujoco-ros2-control: 6.359 + ros-jazzy-mujoco-ros2-control-demos: 2.552 + ros-jazzy-nav2-behaviors: 1.65 + ros-jazzy-nav2-bringup: 2.55 + ros-jazzy-nav2-bt-navigator: 0.493 + ros-jazzy-nav2-collision-monitor: 2.723 + ros-jazzy-nav2-constrained-smoother: 3.978 + ros-jazzy-nav2-controller: 0.587 + ros-jazzy-nav2-core: 1.545 + ros-jazzy-nav2-costmap-2d: 2.532 + ros-jazzy-nav2-dwb-controller: 3.415 + ros-jazzy-nav2-graceful-controller: 0.821 + ros-jazzy-nav2-mppi-controller: 3.978 + ros-jazzy-nav2-navfn-planner: 3.978 + ros-jazzy-nav2-planner: 3.785 + ros-jazzy-nav2-regulated-pure-pursuit-controller: 1.771 + ros-jazzy-nav2-rotation-shim-controller: 1.318 + ros-jazzy-nav2-route: 1.771 + ros-jazzy-nav2-rviz-plugins: 1.318 + ros-jazzy-nav2-smac-planner: 3.785 + ros-jazzy-nav2-smoother: 1.839 + ros-jazzy-nav2-theta-star-planner: 1.987 + ros-jazzy-nav2-waypoint-follower: 1.987 + ros-jazzy-navigation2: 0.078 + ros-jazzy-omni-wheel-drive-controller: 1.735 + ros-jazzy-opennav-docking: 3.415 + ros-jazzy-opennav-docking-bt: 1.987 + ros-jazzy-parallel-gripper-controller: 1.735 + ros-jazzy-perception: 1.869 + ros-jazzy-pid-controller: 2.476 + ros-jazzy-pilz-industrial-motion-planner: 3.186 + ros-jazzy-pilz-industrial-motion-planner-testutils: 0.299 + ros-jazzy-plansys2-bringup: 5.257 + ros-jazzy-plansys2-bt-actions: 4.054 + ros-jazzy-plansys2-executor: 4.678 + ros-jazzy-plansys2-planner: 2.186 + ros-jazzy-plansys2-terminal: 4.054 + ros-jazzy-plansys2-tests: 6.013 + ros-jazzy-plansys2-tools: 3.245 + ros-jazzy-plotjuggler-ros: 1.35 + ros-jazzy-pose-broadcaster: 2.631 + ros-jazzy-position-controllers: 1.593 + ros-jazzy-range-sensor-broadcaster: 2.631 + ros-jazzy-realsense2-camera: 4.934 + ros-jazzy-robotiq-description: 1.345 + ros-jazzy-ros-base: 0.078 + ros-jazzy-ros-core: 4.277 + ros-jazzy-ros-gz: 1.342 + ros-jazzy-ros-gz-sim-demos: 1.345 + ros-jazzy-ros2-control: 1.498 + ros-jazzy-ros2-controllers: 0.114 + ros-jazzy-ros2-medkit-action-status-bridge: 9.079 + ros-jazzy-ros2-medkit-beacon-common: 1.351 + ros-jazzy-ros2-medkit-diagnostic-bridge: 9.079 + ros-jazzy-ros2-medkit-fault-manager: 0.078 + ros-jazzy-ros2-medkit-fault-reporter: 0.078 + ros-jazzy-ros2-medkit-gateway: 10.14 + ros-jazzy-ros2-medkit-graph-provider: 1.351 + ros-jazzy-ros2-medkit-integration-tests: 0.872 + ros-jazzy-ros2-medkit-linux-introspection: 1.351 + ros-jazzy-ros2-medkit-log-bridge: 10.49 + ros-jazzy-ros2-medkit-param-beacon: 1.807 + ros-jazzy-ros2-medkit-sovd-service-interface: 1.351 + ros-jazzy-ros2-medkit-topic-beacon: 1.414 + ros-jazzy-ros2bag: 3.685 + ros-jazzy-ros2cli-common-extensions: 2.532 + ros-jazzy-ros2controlcli: 3.382 + ros-jazzy-rosbag2: 0.288 + ros-jazzy-rosbag2-compression-zstd: 3.171 + ros-jazzy-rosbag2-py: 3.038 + ros-jazzy-rosbag2-tests: 3.451 + ros-jazzy-rosbag2-transport: 2.549 + ros-jazzy-rosbridge-suite: 0.078 + ros-jazzy-rqt-bag: 3.685 + ros-jazzy-rqt-bag-plugins: 0.078 + ros-jazzy-rqt-common-plugins: 1.104 + ros-jazzy-rviz-satellite: 4.406 + ros-jazzy-rviz-visual-tools: 3.887 + ros-jazzy-rviz2: 3.171 + ros-jazzy-simulation: 2.079 + ros-jazzy-slam-toolbox: 2.479 + ros-jazzy-spatio-temporal-voxel-layer: 2.367 + ros-jazzy-state-interfaces-broadcaster: 2.159 + ros-jazzy-steering-controllers-library: 1.814 + ros-jazzy-swri-console: 2.401 + ros-jazzy-topic-based-ros2-control: 0.078 + ros-jazzy-trac-ik: 0.271 + ros-jazzy-trac-ik-kinematics-plugin: 0.288 + ros-jazzy-tricycle-controller: 2.159 + ros-jazzy-tricycle-steering-controller: 2.363 + ros-jazzy-turtlebot3: 0.497 + ros-jazzy-turtlebot3-bringup: 7.267 + ros-jazzy-turtlebot3-navigation2: 0.078 + ros-jazzy-turtlebot4-bringup: 0.996 + ros-jazzy-turtlebot4-description: 5.152 + ros-jazzy-turtlebot4-desktop: 2.025 + ros-jazzy-turtlebot4-gz-bringup: 3.716 + ros-jazzy-turtlebot4-navigation: 3.215 + ros-jazzy-turtlebot4-robot: 2.052 + ros-jazzy-turtlebot4-simulator: 7.082 + ros-jazzy-turtlebot4-viz: 6.292 + ros-jazzy-ur: 0.671 + ros-jazzy-ur-calibration: 4.97 + ros-jazzy-ur-controllers: 2.112 + ros-jazzy-ur-description: 1.594 + ros-jazzy-ur-moveit-config: 2.655 + ros-jazzy-ur-robot-driver: 7.862 + ros-jazzy-ur-simulation-gz: 1.918 + ros-jazzy-urdf-launch: 0.501 + ros-jazzy-urdf-tutorial: 0.26 + ros-jazzy-velocity-controllers: 2.363 + ros-jazzy-vision-msgs-rviz-plugins: 1.042 + ros-jazzy-yasmin-cli: 0.078 + ros-jazzy-yasmin-demos: 0.078 + ros-jazzy-yasmin-editor: 0.32 + ros-jazzy-zed-description: 3.875 + # mapping for package keys conda_index: - robostack.yaml