validate / validate (pull_request) Successful in 59m10s
ssh:// cannot authenticate under dora-cli 1.0.1: it fetches through libgit2 with no credential callback, so the only transport that can work is anonymous https. The documented URLs move accordingly, and the repository is now dora-image-view rather than dora-plot. The note about what a `git:` node needs is corrected while here. The cause is not that a repository is private but that the fetch is anonymous: on Gitea a repository inside a private organization is internal and answers an anonymous clone with 401 even when the repository itself is marked public. The organization has to be public too.
40 lines
1.6 KiB
YAML
40 lines
1.6 KiB
YAML
# A real camera into the viewer, and the worked example of wiring this node to
|
|
# something that is not a test fixture.
|
|
#
|
|
# Not run by CI: it needs a camera and it fetches dora-webcam over the network.
|
|
# dataflow.yml is the gate, and needs neither.
|
|
#
|
|
# This needs anonymous read access to the camera's repository. dora-cli 1.0.1
|
|
# fetches through libgit2 with no credential callback, so anything that asks for
|
|
# credentials fails with "remote authentication required but no callback set".
|
|
# On Gitea, marking the repository public is not enough: a repository inside a
|
|
# private organization is internal and still answers anonymous clones with 401.
|
|
#
|
|
# `strict_types` is deliberately absent. A camera publishes an image and nothing
|
|
# else, and `dora validate --strict` warns about every *typed* input this node
|
|
# declares that a dataflow leaves unwired -- depth, camera_info and text here.
|
|
# The wiring is correct; the strictness is aimed at the self-contained dataflow,
|
|
# which drives all of them.
|
|
|
|
nodes:
|
|
- id: camera
|
|
git: https://gitea.liria.cl/liria/dora-webcam.git
|
|
tag: v0.1.0
|
|
build: uv pip install .
|
|
path: dora-webcam
|
|
inputs:
|
|
tick: dora/timer/millis/33
|
|
outputs:
|
|
- image
|
|
# dora-webcam's own manifest says this, but a `git:` node's manifest is not
|
|
# read at validate time -- only at build. Repeating it here is what makes
|
|
# the two contracts checked against each other now rather than at runtime.
|
|
output_types:
|
|
image: std/media/v1/Image
|
|
|
|
- id: view
|
|
path: dora-image-view
|
|
build: uv pip install .
|
|
inputs:
|
|
image: camera/image
|