Skip to content

Test the native validator in CI, built against BehaviorTree.CPP - #17

Merged
kineticsystem merged 1 commit into
mainfrom
ci-native-validator
Oct 1, 2026
Merged

kineticsystem merged 1 commit into
mainfrom
ci-native-validator

Conversation

@kineticsystem

Copy link
Copy Markdown
Owner

Summary

  • A second CI job, native validator, in a ros:jazzy-ros-base container: it builds the validator against the ROS package of BehaviorTree.CPP, the library and the version (4.10.0) the commander loads trees with, runs every test with the real validator, and validates the examples.
  • tests/native-real.test.ts: the validator itself — a valid tree, a modelled node, an unknown node, a missing SubTree, an XML syntax error, and the built-in nodes it reports. Runs only where BTCPP_VALIDATOR_REAL names the built program; skipped elsewhere, e.g. in the existing job.
  • validator/CMakeLists.txt links to whichever target the library exports: BT::behaviortree_cpp from a build from source (the Docker image), behaviortree_cpp::behaviortree_cpp from the ROS package.
  • The CI badge in the README; the tests and the jobs in docs/ARCHITECTURE.md.

Until now every test ran against a fake validator, and the comment in ci.yml said the real one could not be built there.

Test plan

  • The new job run with act on a clean clone: validator built, 137 tests pass (6 with the real validator), examples valid.
  • Without the real validator: 131 pass, 6 skipped; type check passes.
  • The validator still builds in the editor's Docker image, against BehaviorTree.CPP built from source.
  • The run on GitHub.

🤖 Generated with Claude Code

A second CI job, in a ros:jazzy-ros-base container, builds the native
validator against the ROS package of BehaviorTree.CPP, the library and
the version, 4.10.0, the commander loads trees with. It runs every test
with the real validator, and validates the examples.

- tests/native-real.test.ts tests the validator itself: a valid tree, a
  modelled node, an unknown node, a missing SubTree, an XML syntax
  error, and the built-in nodes it reports. It runs only where
  BTCPP_VALIDATOR_REAL names the built program, and is skipped
  elsewhere.
- validator/CMakeLists.txt links to whichever target the library
  exports: BT::behaviortree_cpp from a build from source, as in the
  Docker image, behaviortree_cpp::behaviortree_cpp from the ROS package.
- The CI badge in the README, and the tests in ARCHITECTURE.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kineticsystem
kineticsystem merged commit c4c6d7e into main Oct 1, 2026
2 checks passed
@kineticsystem
kineticsystem deleted the ci-native-validator branch October 1, 2026 13:18
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