Skip to content

Commit 76d382a

Browse files
authored
Add support for git repository sources for nodes (dora-rs#901)
Adds support for fetching nodes from git repositories through new `git`, `branch`, `tag`, and `rev` keys in the dataflow YAML file. **Note:** This PR updates the dataflow descriptor format and the format of the messages sent between components. This means that users need to update the `dora daemon`/`dora coordinator`, `dora cli`, and dora node API in sync in order to use it.
2 parents 561a319 + 798778f commit 76d382a

File tree

84 files changed

+4411
-1339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+4411
-1339
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ jobs:
118118
- name: "Rust Dataflow example"
119119
timeout-minutes: 30
120120
run: cargo run --example rust-dataflow
121+
- name: "Rust Git Dataflow example"
122+
timeout-minutes: 30
123+
run: cargo run --example rust-dataflow-git
121124
- name: "Multiple Daemons example"
122125
timeout-minutes: 30
123126
run: cargo run --example multiple-daemons
@@ -209,11 +212,11 @@ jobs:
209212
source /opt/ros/humble/setup.bash && ros2 run turtlesim turtlesim_node &
210213
source /opt/ros/humble/setup.bash && ros2 run examples_rclcpp_minimal_service service_main &
211214
cargo run --example rust-ros2-dataflow --features="ros2-examples"
212-
- uses: actions/setup-python@v2
215+
- uses: actions/setup-python@v5
213216
if: runner.os != 'Windows'
214217
with:
215218
python-version: "3.8"
216-
- uses: actions/setup-python@v2
219+
- uses: actions/setup-python@v5
217220
if: runner.os == 'Windows'
218221
with:
219222
python-version: "3.10"
@@ -321,7 +324,7 @@ jobs:
321324
dora stop --name ci-rust-dynamic --grace-duration 5s
322325
dora destroy
323326
324-
- uses: actions/setup-python@v2
327+
- uses: actions/setup-python@v5
325328
with:
326329
# TODO: Support Python 3.13 when https://github.com/pytorch/pytorch/issues/130249 is fixed
327330
python-version: "3.12"
@@ -339,35 +342,42 @@ jobs:
339342
# Test Python template Project
340343
dora new test_python_project --lang python --internal-create-with-path-dependencies
341344
cd test_python_project
342-
uv venv --seed -p 3.11
345+
uv venv --seed -p 3.12
343346
uv pip install -e ../apis/python/node
344-
dora build dataflow.yml --uv
345347
uv pip install ruff pytest
346348
349+
echo "Running dora up"
350+
dora up
351+
echo "Running dora build"
352+
dora build dataflow.yml --uv
353+
347354
# Check Compliancy
348355
uv run ruff check .
349356
uv run pytest
350357
351358
export OPERATING_MODE=SAVE
352-
dora up
359+
echo "Running dora list"
353360
dora list
354361
dora build dataflow.yml --uv
355362
echo "Running CI Python Test"
356363
dora start dataflow.yml --name ci-python-test --detach --uv
357364
sleep 10
365+
echo "Running dora stop"
358366
dora stop --name ci-python-test --grace-duration 5s
359367
dora destroy
368+
sleep 5
360369
361370
cd ..
362371
363372
# Run Python Node Example
364373
echo "Running Python Node Example"
365374
dora up
366-
uv venv --seed -p 3.11
375+
uv venv --seed -p 3.12
367376
uv pip install -e apis/python/node
368377
dora build examples/python-dataflow/dataflow.yml --uv
369378
dora start examples/python-dataflow/dataflow.yml --name ci-python --detach --uv
370379
sleep 10
380+
echo "Running dora stop"
371381
dora stop --name ci-python --grace-duration 30s
372382
373383
# Run Python Dynamic Node Example
@@ -376,15 +386,18 @@ jobs:
376386
dora start examples/python-dataflow/dataflow_dynamic.yml --name ci-python-dynamic --detach --uv
377387
uv run opencv-plot --name plot
378388
sleep 10
389+
echo "Running dora stop"
379390
dora stop --name ci-python-dynamic --grace-duration 30s
380391
381392
# Run Python Operator Example
382393
echo "Running CI Operator Test"
383394
dora start examples/python-operator-dataflow/dataflow.yml --name ci-python-operator --detach --uv
384395
sleep 10
396+
echo "Running dora stop"
385397
dora stop --name ci-python-operator --grace-duration 30s
386398
387399
dora destroy
400+
sleep 5
388401
389402
# Run Python queue latency test
390403
echo "Running CI Queue Latency Test"

.github/workflows/pip-release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ jobs:
6666
args: --release --out dist --zig
6767
manylinux: manylinux_2_28
6868
working-directory: ${{ matrix.repository.path }}
69+
before-script-linux: sudo apt-get install libatomic1-i386-cross libatomic1-armhf-cross && mkdir -p $HOME/.rustup/toolchains/1.84-x86_64-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/ && ln -s /usr/i686-linux-gnu/lib/libatomic.so.1 $HOME/.rustup/toolchains/1.84-x86_64-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libatomic.so && ln -s /usr/i686-linux-gnu/lib/libatomic.so.1 $HOME/.rustup/toolchains/1.84-x86_64-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libatomic.so.1 && ln -s /usr/i686-linux-gnu/lib/libatomic.so.1 /opt/hostedtoolcache/Python/3.8.18/x64/lib/libatomic.so.1 && mkdir -p $HOME/.rustup/toolchains/1.84-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/ && ln -s /usr/arm-linux-gnueabihf/lib/libatomic.so.1 $HOME/.rustup/toolchains/1.84-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libatomic.so
6970
- name: Upload wheels
7071
if: github.event_name == 'release'
7172
uses: actions/upload-artifact@v4

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ __pycache__/
3535

3636
# Distribution / packaging
3737
.Python
38-
build/
38+
/build/
3939
develop-eggs/
4040
dist/
4141
downloads/
@@ -180,4 +180,4 @@ out/
180180
#Miscellaneous
181181
yolo.yml
182182

183-
~*
183+
~*

0 commit comments

Comments
 (0)