Files
dora-zed/.gitea/workflows/validate.yml
T
cesarandClaude Opus 5 483da05a98
validate / validate (push) Successful in 59m2s
validate / validate (pull_request) Successful in 59m0s
refactor: split the opencv-plot viewer into its own dataflow
dataflow.yml is now the camera alone, so running it no longer pulls
dora-hub over pip or needs a display. dataflow_plot.yml adds the viewer
on image_bgr for when the stream should be looked at.

dora 1.0 resolves an input's source only within the same descriptor, so
the camera node is declared in both files rather than shared, and the two
are run one at a time. CI validates both, which is what catches an output
rename that breaks only the viewer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A65jaxrPXMN9EhBDMmMWb2
2026-09-08 14:11:25 -03:00

37 lines
1.2 KiB
YAML

# Checks both dataflows against the typed contract in dora-node.yml. This runs
# no node, so it needs neither a camera nor the ZED SDK.
name: validate
on: [push, pull_request]
env:
DORA_VERSION: v1.0.1
DORA_TARGET: x86_64-unknown-linux-gnu
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install the dora CLI
run: |
curl -fsSL -o dora-cli.tar.gz \
"https://github.com/dora-rs/dora/releases/download/${DORA_VERSION}/dora-cli-${DORA_TARGET}.tar.gz"
tar xzf dora-cli.tar.gz
mkdir -p "$HOME/.local/bin"
install -m 755 "dora-cli-${DORA_TARGET}/dora" "$HOME/.local/bin/dora"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
rm -rf dora-cli.tar.gz "dora-cli-${DORA_TARGET}"
- run: dora --version
# strict_types: true in each dataflow turns a type warning into a
# non-zero exit, so a mismatched annotation fails here rather than at
# runtime. The plot file is checked too: it wires the same outputs, and a
# rename that breaks only the viewer should still fail the build.
- name: Validate the dataflows
run: |
dora validate dataflow.yml
dora validate dataflow_plot.yml