`allow_failure` for specific exit codes
### Description The current CI/CD jobs can either pass, fail, or pass-with-warnings, although there is no way for the running script to notify the state on exit. The current use case for this is in the bizops/BizOps project, where we have ELT jobs that extract data from various sources. These jobs are expected to pass, but are flaky by design. I would like a way for the running job to control the job's status according to the exit codes of the script. Examples: - I might hit an error that should abort the pipeline, so that should make the job fail so the rest of the pipeline stops. - There might be problems that cause the job to output warnings - The job might succeed The only problem I have right now is that either we set `allow_failure` then we lose the `fail` state for this job or we can't have warnings. ### Proposal Add an exit code to the `allow_failure` (or a list) ```yaml pings: stage: extract retry: 1 <<: *job_definition script: - set_sql_instance_name - setup_cloudsqlproxy - bash processes/hosts_to_sfdc/python_timecheck.sh - stop_cloudsqlproxy allow_failure: [2,3,4] ``` ### Links / references /cc @joshlambert
issue