-
Notifications
You must be signed in to change notification settings - Fork 6
Pipeline Runner Implementation #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportAttention: Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a Docker-based pipeline runner, expands test coverage for pipelines and their execution, and updates related utility and error‐handling components.
- Implements
DockerPipelineRunnerwith async task orchestration (start,get_result,stop). - Adds fixtures and tests for pipeline creation and runner execution (
basic_run,stop). - Updates helper utilities (
get), error variants (channel/send errors), and orchestrator JSON parsing.
Reviewed Changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/pipeline_runner.rs | Adds async tests for running and stopping pipelines. |
| src/uniffi/pipeline_runner/runner.rs | Implements core runner logic for node execution and messaging. |
| src/uniffi/pipeline_runner/mod.rs | Defines PipelineRunner trait and PipelineRun key type. |
| src/uniffi/orchestrator/docker.rs | Adjusts JSON label lookup for pod jobs. |
| src/core/util.rs | Generalizes get to support non-String keys. |
| src/core/error.rs | Introduces new error kinds for channel and sending errors. |
Comments suppressed due to low confidence (2)
tests/pipeline_runner.rs:31
- The test calls
get_resultbut doesn't assert anything about the returnedPipelineResult. Add assertions to verify that the output packets match the expected results of the toy pipeline.
runner.get_result(&pipeline_run).await?;
src/uniffi/pipeline_runner/mod.rs:14
- The
PipelineRunnertrait signature (start(&self) -> Result<()>) does not matchDockerPipelineRunner's async signature and return type (start(&mut self, ...) -> Result<PipelineRun>). Update the trait to align with implementations or implement the trait on the runner with the correct signatures.
fn start(&self, pipeline_job: PipelineJob) -> Result<()>;
…have all the parents yet
|
Notes from Meeting:
|
|
Update on this PR. I fix a lot of issues since a lot of my code depending on the previous implementation of pipeline. Just merged and fix 90% of conflicts that I had when switching to the new design that was merged on Monday. Still need to fix output recording logic to deal with the output_spec and add the correct zenoh communication with the agent. |
|
Close due to staleness and too many conflicts with recents merges |
Summary:
Added:
Missing:
Features Deferred:
Agent: Add configurable storage ofPodResult#94 adds an agent that will handle the actual execution of the pod, I currently have it "simulate" excution by hard coding it to the test case.