Skip to content

Validate the objectives in CI, with the StepIt Editor's validator - #13

Merged
kineticsystem merged 3 commits into
mainfrom
ci-objectives
Oct 1, 2026
Merged

kineticsystem merged 3 commits into
mainfrom
ci-objectives

Conversation

@kineticsystem

Copy link
Copy Markdown
Owner

Summary

  • objectives job in ci.yml: builds the StepIt Editor's native validator against the ROS package of BehaviorTree.CPP — the library and the version (4.10.0) the commander loads trees with — and runs validate on src/plugins/stepit_objectives/objectives: the editor's own checks, then the library loading every file with the node models of the rig's behaviors. A broken objective (unknown node or port, missing subtree, bad XML) fails the pull request instead of being refused by the commander on the robot.
  • The editor mounts the repo, not the objectives' folder. A bind mount follows the folder, not its path: when gh pr merge switched to a main without src/plugins, git deleted and recreated the folder, and the running editor showed the deleted one, empty. It now mounts the repo at ~/rig, as the commander does, and opens the objectives through BEHAVIORS_DIR.
  • stepit-editor 83a2a03 → c4c6d7e (stepit-editor#17): its validator builds against the ROS package, which this job needs.
  • README and CLAUDE.md: the job, and how to run the same check by hand.

Test plan

  • The objectives job run with act on a clean clone: 10 files, 0 errors, BehaviorTree.CPP loading each.
  • With a planted broken objective (unknown node, missing subtree): 3 errors, the job fails.
  • The editor recreated with the new mount: it opens the 10 objectives, and validate.sh in its container finds no error.
  • The run on GitHub.

🤖 Generated with Claude Code

Giovanni Remigi and others added 3 commits October 1, 2026 15:18
The editor mounted src/plugins/stepit_objectives/objectives itself. A
bind mount follows the folder, not its path, and git deletes and
recreates a folder when it switches to a branch that lacks it, as gh pr
merge did to main before src/plugins existed: the editor then showed the
deleted folder, empty, until its container was recreated. It now mounts
the repo at ~/rig, as the commander does, and opens the objectives
through BEHAVIORS_DIR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A new job of ci.yml, objectives, builds the editor's native validator
against the ROS package of BehaviorTree.CPP, the library and the version
the commander loads trees with, and runs validate on
src/plugins/stepit_objectives/objectives: the editor's own checks, then
the library loading every file with the node models of the rig's
behaviors. A broken objective fails the pull request instead of being
refused by the commander on the robot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Its native validator builds against the ROS package of BehaviorTree.CPP,
which the objectives job needs, and is tested in its CI.

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