You need to sign in or sign up before continuing.
Non-blocking manual jobs that would report failure, not warning
Problem to solve
This is what I would like to achieve:
- Pipeline with stages
build
,test
,stage
,deploy
-
build
andtest
are executed automatically on push -
stage
anddeploy
are manual jobs - When
build
andtest
stages pass, the whole pipeline is reported aspassed
- When a manual job is triggered and it fails, the pipeline will be reported as
failed
In order to achieve 4.
, the manual jobs must have allow_failure: true
(set by default). But that breaks 5.
, because that marks the job as warning
, not failed
.
In order to achieve 5.
, the manual jobs must have allow_failure: false
. But that breaks 4.
, because the pipeline status after the automatic jobs finish will be blocked
, not passed
.
Currently there does not seem to be a way to have a pipeline such that:
- it has an optional manual job (e.g. for deploy so that when the non-manual jobs finish, the pipeline's status is
passed
) - when the manual job fails, it is reported as
failed
, not justwarning
This issue is somewhat related to !60334 (merged)