Implement allow_failure syntax with exit codes
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
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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