Skip to content

Add a single-precision job to GitHub CI - #3

Closed
yuvaltassa wants to merge 2 commits into
mainfrom
ci-single-precision
Closed

Add a single-precision job to GitHub CI#3
yuvaltassa wants to merge 2 commits into
mainfrom
ci-single-precision

Conversation

@yuvaltassa

Copy link
Copy Markdown
Owner

Adds a dedicated single job to build.yml: ubuntu-24.04 / clang-18, builds the library and test suite with -DmjUSESINGLE in the C/C++ flags and runs ctest.

Rationale: the GitHub matrix is double-only, so PRs that break single-precision builds or tests look green on GitHub and only fail on internal import. One fast configuration suffices; internal CI already covers single precision on its own toolchain.

This PR exists to exercise the new job on the fork before sending the change upstream.

When penetration exceeds a box's smallest half-size, the midpoint
between the contact surfaces can land outside both boxes. The outside-
box filter in mjc_BoxBox then removed every contact of the manifold,
returning nothing for a visibly overlapping pair, letting boxes fall
through each other. Fixes google-deepmind#1800.

If the filter would remove all contacts, restore the penetrating ones.
This is strictly additive: configurations where any contact survives
the filter are unchanged.

The removed midpoints are bitwise-identical to the witness midpoints
computed by mj_geomDistance for these configurations, so the positions
follow the engine-wide contact position convention; re-anchoring them
onto a box surface would not.

Fixes google-deepmind#1800

PiperOrigin-RevId: 957867315
Change-Id: Ia9c858661d4badeb2a832d25455e33402936011d
The GitHub build matrix only tests double precision, so pull requests
that break single-precision (mjUSESINGLE) builds or tests look green on
GitHub and only fail on internal import. Add a dedicated `single` job:
one fast configuration (ubuntu / clang-18) that builds the library and
test suite with -DmjUSESINGLE and runs the C/C++ tests.
@yuvaltassa

Copy link
Copy Markdown
Owner Author

Validation complete; submitted upstream as google-deepmind#3448.

@yuvaltassa yuvaltassa closed this Aug 2, 2026
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.

1 participant