Skip to content

Implement allow_failure syntax with exit codes

Marius Bobin requested to merge ci-add-exit-code-syntax into master

What does this MR do?

Related to #273157 (closed)

Screenshots (strongly suggested)

Sample .gitlab-ci.yml file
stages:
  - allow_failure
  - do_not_allow_failure

job_allow_failure_array_1:
  stage: allow_failure
  script:
    - exit 137
  allow_failure:
    exit_codes:
      - 137
      - 255

job_allow_failure_array_2:
  stage: allow_failure
  script:
    - exit 137
  allow_failure:
    exit_codes: [137, 255]

job_allow_failure_int:
  stage: allow_failure
  script:
    - exit 137
  allow_failure:
    exit_codes: 137

job_allow_failure_true:
  stage: allow_failure
  script:
    - exit 137
  allow_failure: true



job_default:
  stage: do_not_allow_failure
  script:
    - exit 137

job_allow_failure_false:
  stage: do_not_allow_failure
  script:
    - exit 137
  allow_failure: false

job_other_exit_code_array_1:
  stage: do_not_allow_failure
  script:
    - exit 42
  allow_failure:
    exit_codes:
      - 137
      - 255

job_other_exit_code_array_2:
  stage: do_not_allow_failure
  script:
    - exit 42
  allow_failure:
    exit_codes:
      - 137
      - 255

job_other_exit_code_int:
  stage: do_not_allow_failure
  script:
    - exit 42
  allow_failure:
    exit_codes: 137
Screenshots

image image

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Marius Bobin

Merge request reports