I have dev, qa and main branches. A developer can create and push a new feature branch and request a merge. I want to schedule a build job
1>On a new feature branch when it pushed to gitlab.
2>On dev or qa or main branch when any branch is merged into it.
3>Never run a build job for Detached merge request pipeline
So I have the following rule
build-default:
image: node
stage: build
script:
- npm install
- npm i -g @nestjs/cli
- npm run build
artifacts:
paths:
- $BUILD_ARTIFACT
expire_in: 2 hrs
rules:
- if: $CI_PIPELINE_SOURCE != 'merge_request_event'
but this is not working. Its still scheduling the job on merge request.
are the following two rules same?
rules:
- if: $CI_PIPELINE_SOURCE != 'merge_request_event'
and
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- when: never