Pipeline is getting succeeded even after the script return exit code 1
.test:
image: <iamgename
allow_failure: true
only:
- tags
- merge_requests
dependencies: []
needs: []
artifacts:
expire_in: 1 day
untracked: true
script:
- opa eval --format pretty --data "${CI_PROJECT_DIR}/opa/terraform.rego" --input "${CI_PROJECT_DIR}/${ENVIRONMENT}-${PRODUCT}-${CI_PIPELINE_ID}.tfplan.json" "data.terraform.analysis.score" > score.txt
- cat score.txt
- opa eval --format pretty --data "${CI_PROJECT_DIR}/opa/terraform.rego" --input "${CI_PROJECT_DIR}/${ENVIRONMENT}-${PRODUCT}-${CI_PIPELINE_ID}.tfplan.json" "data.terraform.analysis.authz" > result.txt
- cat result.txt
- mapfile opa_flag < result.txt
- echo $opa_flag
- if [ "$opa_flag" == 'false' ]; then exit 1; else exit 0; fi
I want to fail the pipeline if the exit code returned is 1. Here it is still getting succeeded. Is there anything that i am missing?
I dont want to use **rules**, becuase i am using **only**
rules:
- if: '$opa_flag == "false"'
when: never
Any pointers ?
Edited by Rahul soni
