argoproj / argo-workflows

Workflow Engine for Kubernetes
https://argo-workflows.readthedocs.io/
Apache License 2.0
15.08k stars 3.2k forks source link

UI: Add hover-over text for ambiguous buttons #9541

Open jsoref opened 2 years ago

jsoref commented 2 years ago

Summary

Documentation and UX need to make it clear how retry and resubmit differ.

image

https://argoproj.github.io/argo-workflows/cli/argo_retry/

argo retry retry zero or more workflows

argo retry [WORKFLOW...] [flags]

https://argoproj.github.io/argo-workflows/cli/argo_resubmit/

argo resubmit resubmit one or more workflows

argo resubmit [WORKFLOW...] [flags]

Use Cases

Someone trying to understand when to use retry and when to use resubmit


Message from the maintainers:

Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

terrytangyuan commented 2 years ago

Retry will run the existing failed workflow whereas resubmit will submit a new workflow with the same spec.

tczhao commented 2 years ago

Just to a little bit of clarity. Retry reruns the failed step/task(s) from the existing failed workflow

jsoref commented 2 years ago

It sounds like retry will only rerun the failed bits (and cascading following bits) whereas resubmit will start from scratch.

A user shouldn't have to file a bug to find out that distinction, it should be clear from the documentation and it should be clear from the UI.

The docs for each item should clearly indicate what the specific thing does and mention the other one and hint at when one would want to use the other instead,

jsoref commented 2 years ago

Note: I don't generally advocate GitHub UI elements (I file way more bugs about GitHub than I do about Argo*), but it's worth considering this similar GitHub element:

image

It's easy to understand that there are two similar actions, and it's easy to understand that one is clearly a subset of the other and roughly how it's a subset.

Clicking that first option yields:

image

The extra sentence clarifies what extra (non-failing) items could be run.

agilgur5 commented 1 year ago

Was looking to add this myself and then found this issue again. Gonna work on this in tandem with docs and help text changes for https://github.com/argoproj/argo-workflows/issues/11511

Would also like to add tooltips for Terminate vs. Stop as well. Terminate vs. Stop and Retry vs. Resubmit are perhaps the most frequently asked questions I've seen (and personally asked/searched for too).

For anyone finding themselves here: retry vs. resubmit terminate vs. stop

agilgur5 commented 1 year ago

One small complication here, these buttons are rendered via the ActionMenu component (tracing: getItems has the items, which use the WorkflowOperationsMap), which is actually in argo-ui and does not have a prop for tooltips. So will need to add tooltips in argo-ui, then update and add the tooltip contents here.

agilgur5 commented 1 year ago

Also for the CLI and its docs, I wrote up #11625 to describe retry vs. resubmit in more details