Skip to content
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

feat(ui): Retry a single workflow step manually #13343

Merged
merged 2 commits into from
Oct 8, 2024

Conversation

Adrien-D
Copy link
Member

Fixes #10139

Motivation

Add the ability to manually retry a single step on workflows.

Modifications

I based my changes on the retry workflow, but abstracting the Node Field Selector with the current selected node, less flexible but very user friendly.

Screenshot 2024-07-15 at 10 57 09 Screenshot 2024-07-15 at 10 57 18 Screenshot 2024-07-15 at 10 57 25 Screenshot 2024-07-15 at 10 57 38

Verification

See screenshots

Signed-off-by: Adrien Delannoy <a.delannoyfr@gmail.com>
@agilgur5 agilgur5 changed the title feat: Retry a single workflow step manually feat(ui): Retry a single workflow step manually Jul 15, 2024
Signed-off-by: Adrien Delannoy <a.delannoyfr@gmail.com>
@Joibel
Copy link
Member

Joibel commented Aug 13, 2024

Almost all of my attempts to do retries on coinflip-recursive result in a broken workflow.

I know this is almost certainly outside the scope of the UI changes, but you could you check that I'm not just doing it wrong please @Adrien-D?

@Adrien-D
Copy link
Member Author

Adrien-D commented Aug 14, 2024

I get a broken workflow as well

I might do something wrong but can't see where
In a specific workflow name, to retry a specific successful node nodeId
I call api/v1/workflows/${namespace}/${name}/retry with

{
  "parameters": [],
  "restartSuccessful": true,
  "nodeFieldSelector": "id=${nodeId}"
}

@agilgur5 agilgur5 added this to the v3.6.0 milestone Aug 27, 2024
Copy link
Member

@Joibel Joibel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@isubasinghe is working on the problematic retry cases we found, but they're not directly related to this issue as they can already be invoked via the CLI.

@Joibel Joibel merged commit 07703ab into argoproj:main Oct 8, 2024
16 checks passed
@agilgur5
Copy link
Contributor

agilgur5 commented Oct 8, 2024

This is currently breaking CI on main and failing other PRs and releases as a result: #13728 (comment)

MasonM added a commit to MasonM/argo-workflows that referenced this pull request Oct 9, 2024
Attempting to build the UI on `main` currently fails with the following
error:
```
ERROR in ./src/app/workflows/components/retry-workflow-node-panel.tsx 26:0-43
Module not found: Error: Can't resolve '../../shared/utils' in '/home/vscode/go/src/github.com/argoproj/argo-workflows/ui/src/app/workflows/components'
```

This is happening due to a merge conflict between
argoproj#13343 and
argoproj#13339. The latter was
merged first and deleted `ui/src/app/shared/utils.ts`, which the former
is importing. The reason the CI build didn't fail for the former PR is that
the branch wasn't up-to-date with `main` at the time of merge.

Signed-off-by: Mason Malone <651224+MasonM@users.noreply.github.com>
@agilgur5
Copy link
Contributor

Almost all of my attempts to do retries on coinflip-recursive result in a broken workflow.

@isubasinghe is working on the problematic retry cases we found, but they're not directly related to this issue as they can already be invoked via the CLI.

I'm guessing this is the source for #13692? There's wider bugs (or perhaps odd behavior?) there per my comments there pointing to #12543 and #12553 (comment) et al

Copy link
Contributor

@agilgur5 agilgur5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like there's some consolidation and simplification that could be done here

@agilgur5 agilgur5 added the area/retry-manual Manual workflow "Retry" Action (API/CLI/UI). See retryStrategy for template-level retries label Oct 25, 2024
@agilgur5
Copy link
Contributor

Resolved my above comment on simplification in #13814

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/retry-manual Manual workflow "Retry" Action (API/CLI/UI). See retryStrategy for template-level retries area/ui
Projects
None yet
Development

Successfully merging this pull request may close these issues.

UI: retry just one step, not whole workflow
5 participants