Conversation
Greptile SummaryThe PR updates Argo conditional execution so skipped branches expose resolvable outputs and downstream tasks include only predecessors that actually ran.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains within the eligible follow-up review scope. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| metaflow/plugins/argo/argo_workflows.py | Introduces conditional Steps wrappers, stable skipped-branch outputs, and revised dependency and input-path generation for newer Argo releases. |
| metaflow/plugins/argo/conditional_input_paths.py | Excludes the explicit /SKIPPED sentinel when selecting executed predecessor pathspecs. |
| test/unit/test_argo_conditional_input_paths.py | Adds focused coverage for skipped sentinels and fallback path selection. |
| test/unit/test_argo_nested_conditional_join.py | Expands regression coverage for nested, sequential, and recursive conditional gating. |
| devtools/Tiltfile | Updates the local Argo chart and controller defaults to exercise Argo Workflows v3.7.11. |
Reviews (3): Last reviewed commit: "fix: exclude foreach joins from wrapped_..." | Re-trigger Greptile
f560ef2 to
920f9fa
Compare
Foreach-join DAGTasks are built via a separate code path in _dag_templates() that never wraps the join node, so including them in the precomputed wrapped_conditional_nodes set caused their container template to be renamed to a cond-* name the DAGTask never references, producing "template name ... undefined" deploy errors. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Shriprasad-P
left a comment
There was a problem hiding this comment.
Review
PR: fix: argo 3.7.11 conditional input paths
Touched: devtools/Tiltfile, metaflow/plugins/argo/argo_workflows.py, metaflow/plugins/argo/conditional_input_paths.py, test/unit/test_argo_conditional_input_paths.py, test/unit/test_argo_nested_conditional_join.py
- Addresses a concrete correctness/reliability issue based on the title and diff.
- CI/tooling change — confirm the pipeline still passes on this branch.
- Diff is fairly large (+632/-156); a short summary of risk areas from the author would help reviewers.
Commenting as a drive-by reviewer after reading the diff. Happy to look again if maintainers want a deeper pass on a specific file.
|
Wanted to share some field validation for this fix. We (Delivery Hero, running Metaflow on Argo Workflows at scale) hit exactly the issue this PR fixes (#3043) while validating an Argo Workflows v3.7.11→v4.1.4 upgrade. We reproduced the conditional-branch failure cleanly on both v3.7.15 and v4.1.4 ( This is a real blocker for anyone upgrading past Argo Workflows v3.7.11/v4.0.2, so it'd be great to see this land. |
PR Type
Summary
Fixes an issue with step input-paths from conditionals not working on argo 3.7.11+/4.0.2+
Issue
Fixes #3043
AI Tool Usage
Claude Code used for test cases and fix iteration