Skip to content

Include unitree-dds in tests#2647

Open
Dreamsorcerer wants to merge 1 commit into
mainfrom
sam/unitree-dds
Open

Include unitree-dds in tests#2647
Dreamsorcerer wants to merge 1 commit into
mainfrom
sam/unitree-dds

Conversation

@Dreamsorcerer

Copy link
Copy Markdown
Collaborator

No description provided.

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

@@            Coverage Diff             @@
##             main    #2647      +/-   ##
==========================================
- Coverage   71.10%   70.75%   -0.35%     
==========================================
  Files         897      897              
  Lines       80290    80290              
  Branches     7183     7183              
==========================================
- Hits        57089    56810     -279     
- Misses      21319    21624     +305     
+ Partials     1882     1856      -26     
Flag Coverage Δ
OS-ubuntu-24.04-arm 63.52% <ø> (+<0.01%) ⬆️
OS-ubuntu-latest 66.23% <ø> (-0.01%) ⬇️
Py-3.10 66.22% <ø> (-0.01%) ⬇️
Py-3.11 66.22% <ø> (-0.01%) ⬇️
Py-3.12 66.22% <ø> (-0.01%) ⬇️
Py-3.13 66.23% <ø> (+<0.01%) ⬆️
Py-3.14 66.23% <ø> (-0.01%) ⬇️
Py-3.14t 66.22% <ø> (-0.01%) ⬇️
SelfHosted-macOS ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 14 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@greptile-apps

greptile-apps Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR removes a previous workaround that excluded unitree-dds from self-hosted CI tests (because the CycloneDDS C library wasn't present in the Docker image) and instead installs libcyclonedds-dev in the Dockerfile so the full extra can be used directly.

  • docker/python/Dockerfile: Adds libcyclonedds-dev to the apt-get install block, supplying the system-level CycloneDDS library that the cyclonedds Python wheel requires at runtime.
  • pyproject.toml: Replaces dimos[unitree] + standalone mcap>=1.2.0 in tests-self-hosted with dimos[unitree,unitree-dds]; mcap is now pulled in transitively, eliminating the need for the workaround comment.
  • uv.lock: Lockfile updated to reflect the new dependency graph, removing the explicit mcap entry and adding cyclonedds/unitree-dds resolution entries; exclude-newer timestamp rolled forward by ~3 days.

Confidence Score: 5/5

Safe to merge — the change installs a well-known system library and re-enables a previously disabled dependency group, with no logic changes.

The three-file change is tightly scoped: add one apt package to the Docker image, expand one extras list in pyproject.toml, and let uv regenerate the lockfile. mcap continues to be resolved transitively via unitree-dds, and no test logic is touched. The deleted workaround comment documents exactly why this approach is now valid.

No files require special attention.

Important Files Changed

Filename Overview
docker/python/Dockerfile Adds libcyclonedds-dev to the apt-get install block, providing the CycloneDDS C library needed for the cyclonedds Python package to link against at install/runtime.
pyproject.toml Replaces the old workaround (unitree + standalone mcap) in tests-self-hosted with the full unitree-dds extra, removing the comment that documented the previous limitation. mcap is now included transitively via unitree-dds.
uv.lock Routine lockfile update: removes explicit mcap entry (now pulled transitively through unitree-dds), adds cyclonedds and unitree-dds group entries, bumps exclude-newer timestamp by ~3 days.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Self-Hosted CI Runner] --> B[docker/python/Dockerfile]
    B --> C[apt-get install libcyclonedds-dev]
    C --> D{CycloneDDS C lib available?}
    D -->|Yes - after this PR| E[uv install dimos with unitree-dds extra]
    D -->|No - before this PR| F[uv install dimos with unitree extra plus mcap directly]
    E --> G[cyclonedds Python wheel links against system lib]
    E --> H[unitree-sdk2py-dimos installed]
    E --> I[mcap pulled in transitively]
    F --> J[Tests run without full DDS support]
    G --> K[Full unitree-dds test suite runs]
    H --> K
    I --> K
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Self-Hosted CI Runner] --> B[docker/python/Dockerfile]
    B --> C[apt-get install libcyclonedds-dev]
    C --> D{CycloneDDS C lib available?}
    D -->|Yes - after this PR| E[uv install dimos with unitree-dds extra]
    D -->|No - before this PR| F[uv install dimos with unitree extra plus mcap directly]
    E --> G[cyclonedds Python wheel links against system lib]
    E --> H[unitree-sdk2py-dimos installed]
    E --> I[mcap pulled in transitively]
    F --> J[Tests run without full DDS support]
    G --> K[Full unitree-dds test suite runs]
    H --> K
    I --> K
Loading

Reviews (1): Last reviewed commit: "Include unitree-dds in tests" | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants