Skip to content

Non-blocking manual jobs that would report failure, not warning

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

This is what I would like to achieve:

  1. Pipeline with stages build, test, stage, deploy
  2. build and test are executed automatically on push
  3. stage and deploy are manual jobs
  4. When build and test stages pass, the whole pipeline is reported as passed
  5. 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 just warning

This issue is somewhat related to !60334 (merged)

Edited by 🤖 GitLab Bot 🤖