Add a dora-node.yml manifest and a dora validate CI gate #16

Closed
opened 2026-09-04 20:36:22 +00:00 by cristhian · 0 comments
Owner

Feature: Add a dora-node.yml manifest and a dora validate CI gate

User Story

As a dataflow author wiring dora-zed to nodes from other repositories,
I want the node's inputs and outputs declared with types,
so that a mismatch fails at build time instead of at runtime.

Requirements

  • Add dora-node.yml at the repository root with: apiVersion, name, namespace, runtime: cxx, entrypoint as a relative path, build, description, categories, keywords, inputs, outputs.
  • Declare a type for every output: image_bgr, depth, camera_info, and point_cloud when enabled.
  • Declare a type for the tick input.
  • Set strict_types: true in dataflow.yml.
  • Add a CI workflow running dora validate dataflow.yml on push and pull request.
  • Document the manifest in README.md.

Acceptance Criteria

  • dora validate dataflow.yml reports input/output wiring and type annotations OK.
  • A deliberately mismatched type annotation fails the CI job.
  • dora-node.yml documents every input and output the node publishes.
  • The workflow runs on push and pull request.

Notes

No source package is shared between node repositories, so the manifest and its type URNs
are the only contract available to a consumer. dora validate performs the check without
running the node, so CI needs no camera and no ZED SDK.

Type URNs follow std/<category>/v<version>/<TypeName>. dora validate reports unknown
type names and suggests the closest match, which can be used to find the correct URN for
image and depth payloads.

Depends on the outputs being final, so this runs after the depth output and the
point_cloud gating are in place.

# Feature: Add a dora-node.yml manifest and a dora validate CI gate ## User Story As a dataflow author wiring dora-zed to nodes from other repositories, I want the node's inputs and outputs declared with types, so that a mismatch fails at build time instead of at runtime. ## Requirements - Add `dora-node.yml` at the repository root with: `apiVersion`, `name`, `namespace`, `runtime: cxx`, `entrypoint` as a relative path, `build`, `description`, `categories`, `keywords`, `inputs`, `outputs`. - Declare a type for every output: `image_bgr`, `depth`, `camera_info`, and `point_cloud` when enabled. - Declare a type for the `tick` input. - Set `strict_types: true` in `dataflow.yml`. - Add a CI workflow running `dora validate dataflow.yml` on push and pull request. - Document the manifest in `README.md`. ## Acceptance Criteria - [ ] `dora validate dataflow.yml` reports input/output wiring and type annotations OK. - [ ] A deliberately mismatched type annotation fails the CI job. - [ ] `dora-node.yml` documents every input and output the node publishes. - [ ] The workflow runs on push and pull request. ## Notes No source package is shared between node repositories, so the manifest and its type URNs are the only contract available to a consumer. `dora validate` performs the check without running the node, so CI needs no camera and no ZED SDK. Type URNs follow `std/<category>/v<version>/<TypeName>`. `dora validate` reports unknown type names and suggests the closest match, which can be used to find the correct URN for image and depth payloads. Depends on the outputs being final, so this runs after the depth output and the point_cloud gating are in place.
cristhian added this to the v0.2.0 Pure camera source on dora 1.0 milestone 2026-09-04 20:36:22 +00:00
cristhian added the chore label 2026-09-04 20:36:22 +00:00
Sign in to join this conversation.