Relationships
#3815 workflow resume --run refuses workflows with the same step name in two jobs, though validate and run accept them
Opened by kagarmoe · 10/23/2026
Description
swamp workflow validate accepts a workflow where two jobs each have a step with the same name, and swamp workflow run runs it. When such a run fails, swamp prints "To retry failed steps: swamp workflow resume --run ". That resume is then refused:
Error: Step name "s" is used in more than one place in the workflow; retry needs unique step names.Step names scoped per job are natural, e.g. one version or restart step in each per-host job. The run's own retry hint points at a command that can't work, and the only way out is a fresh full rerun. In our case that rerun didn't redo the side effects (service restarts) that the failed run should have retried.
Steps to reproduce
In a fresh repo with a command/shell behavior named sh:
name: dup-steps
jobs:
- name: a
steps:
- name: s
task: { type: model_method, modelIdOrName: sh, methodName: execute, inputs: { run: echo job-a } }
- name: b
dependsOn: [{ job: a, condition: { type: succeeded } }]
steps:
- name: s
task: { type: model_method, modelIdOrName: sh, methodName: execute, inputs: { run: "exit 1" } }
version: 1swamp workflow validate dup-steps→Summary: 15 passed, Result: PASSEDswamp workflow run dup-steps→ fails, printsTo retry failed steps: swamp workflow resume dup-steps --run <id>swamp workflow resume dup-steps --run <id>→ the error above
Expected
Either:
- resume identifies steps by job plus step name, since step names only need to be unique within a job; or
validaterejects (or warns about) duplicate step names across jobs, andrundoesn't print a retry hint it can't honor.
The first is better.
Environment
swamp 20261022.211048.0 (Linux, WSL2 Ubuntu 26.04)
Open
No activity in this phase yet.
Sign in to post a ripple.