Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7eeb83bf6d | ||
|
|
344a527097 |
@@ -85,12 +85,15 @@ else, and `dora validate --strict` warns about every *typed* input this node dec
|
|||||||
that a dataflow leaves unwired. The strictness belongs to `dataflow.yml`, which drives
|
that a dataflow leaves unwired. The strictness belongs to `dataflow.yml`, which drives
|
||||||
all of them.
|
all of them.
|
||||||
|
|
||||||
|
Verified end to end: dora clones dora-webcam at the pinned tag, builds both nodes, and
|
||||||
|
runs them against a real camera to a clean exit.
|
||||||
|
|
||||||
**A `git:` node needs anonymous read access.** dora-cli 1.0.1 fetches through libgit2
|
**A `git:` node needs anonymous read access.** dora-cli 1.0.1 fetches through libgit2
|
||||||
with no credential callback, so a repository that asks for credentials fails with
|
with no credential callback, so `ssh://` cannot authenticate at all and anything asking
|
||||||
`remote authentication required but no callback set`, and `ssh://` cannot authenticate
|
for credentials fails with `remote authentication required but no callback set`. On
|
||||||
at all. Note that marking a repository public is not sufficient on Gitea: a repository
|
Gitea, marking a repository public is not sufficient — a repository inside a private
|
||||||
inside a **private organization** is treated as internal and still answers anonymous
|
organization is internal and answers an anonymous clone with `401`, so the organization
|
||||||
clones with `401`. The organization has to be public too.
|
has to be public too.
|
||||||
|
|
||||||
### Node manifest
|
### Node manifest
|
||||||
|
|
||||||
|
|||||||
+6
-5
@@ -5,10 +5,11 @@
|
|||||||
# dataflow.yml is the gate, and needs neither.
|
# dataflow.yml is the gate, and needs neither.
|
||||||
#
|
#
|
||||||
# This needs anonymous read access to the camera's repository. dora-cli 1.0.1
|
# 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
|
# fetches through libgit2 with no credential callback, so ssh:// cannot
|
||||||
# credentials fails with "remote authentication required but no callback set".
|
# authenticate at all and anything asking for credentials fails with "remote
|
||||||
# On Gitea, marking the repository public is not enough: a repository inside a
|
# authentication required but no callback set". On Gitea, marking the repository
|
||||||
# private organization is internal and still answers anonymous clones with 401.
|
# public is not enough: a repository inside a private organization is internal
|
||||||
|
# and answers an anonymous clone with 401, so the organization must be public.
|
||||||
#
|
#
|
||||||
# `strict_types` is deliberately absent. A camera publishes an image and nothing
|
# `strict_types` is deliberately absent. A camera publishes an image and nothing
|
||||||
# else, and `dora validate --strict` warns about every *typed* input this node
|
# else, and `dora validate --strict` warns about every *typed* input this node
|
||||||
@@ -19,7 +20,7 @@
|
|||||||
nodes:
|
nodes:
|
||||||
- id: camera
|
- id: camera
|
||||||
git: https://gitea.liria.cl/liria/dora-webcam.git
|
git: https://gitea.liria.cl/liria/dora-webcam.git
|
||||||
tag: v0.1.0
|
tag: v0.1.1
|
||||||
build: uv pip install .
|
build: uv pip install .
|
||||||
path: dora-webcam
|
path: dora-webcam
|
||||||
inputs:
|
inputs:
|
||||||
|
|||||||
@@ -37,6 +37,13 @@ build-backend = "hatchling.build"
|
|||||||
[tool.hatch.build.targets.wheel]
|
[tool.hatch.build.targets.wheel]
|
||||||
packages = ["dora_image_view"]
|
packages = ["dora_image_view"]
|
||||||
|
|
||||||
|
[tool.pytest.ini_options]
|
||||||
|
# Only this repository's tests. `dora run` vendors a `git:` node's source into
|
||||||
|
# git/ inside the checkout, and pytest would otherwise collect that node's tests
|
||||||
|
# too -- reporting another project's results as this one's, and going red when
|
||||||
|
# they fail.
|
||||||
|
testpaths = ["tests"]
|
||||||
|
|
||||||
[tool.ruff.lint]
|
[tool.ruff.lint]
|
||||||
extend-select = ["D", "I", "N", "RET", "UP"]
|
extend-select = ["D", "I", "N", "RET", "UP"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user