Docs feedback: Interruptible jobs
Problem to solve
I find the description of the interruptible
keyword confusing.
Further details
When enabled, a pipeline on the same branch will be canceled when:
- It is made redundant by a newer pipeline run.
- Either all jobs are set as interruptible, or any uninterruptible jobs are not yet pending.
What does "any uninterruptile jobs are not yet pending" mean? When an uninterruptible job is running, it's not "yet pending". Is the pipeline canceled then? Doesn't the second condition actually mean simply this?:
- No uninterruptible job (if any) is running
(I presume it's only uninterruptible jobs that matter, and only if they are running: canceled, pending, failed... don't prevent canceling)
Pending jobs are always considered interruptible.
That's covered above: any job that's not running is "interruptible", right?
Tip: Set jobs as uninterruptible [...]
If the default is false
, I'd rather see a tip of when to set jobs as interruptible, or phrase this as "Do not set jobs as interruptible [...]"
In the example above, a new pipeline run will cause an existing running pipeline to be:
- Canceled, if only step-1 is running or pending.
- Not canceled, once step-2 becomes pending.
If any pending job is considered interruptible, why won't the pipeline be canceled if a job is pending? Shouldn't this say "running" instead?
Or did I misunderstand the feature? In either case, the documentation needs reviewing.