Skip to content

fix: argo 3.7.11 conditional input paths - #3344

Open
saikonen wants to merge 3 commits into
masterfrom
fix/argo-3.7.11-conditional-input-paths
Open

fix: argo 3.7.11 conditional input paths#3344
saikonen wants to merge 3 commits into
masterfrom
fix/argo-3.7.11-conditional-input-paths

Conversation

@saikonen

Copy link
Copy Markdown
Collaborator

PR Type

  • Bug fix

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

@saikonen
saikonen requested a review from talsperre August 18, 2026 09:45
@saikonen
saikonen marked this pull request as ready for review August 18, 2026 18:35
@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR updates Argo conditional execution so skipped branches expose resolvable outputs and downstream tasks include only predecessors that actually ran.

  • Adds Steps wrappers and should-run outputs for conditional nodes.
  • Reworks dependency, when, and input-path expressions for nested and sequential conditionals.
  • Filters Argo’s SKIPPED sentinel from conditional input paths.
  • Adds regression coverage and updates the local Argo environment to v3.7.11.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains within the eligible follow-up review scope.

No blocking failure remains.

Important Files Changed

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

@saikonen
saikonen force-pushed the fix/argo-3.7.11-conditional-input-paths branch from f560ef2 to 920f9fa Compare August 21, 2026 21:28
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Conditional branching broken on Argo Workflows v3.7.11+ / v4.0.2+

1 participant