Disable job on Detached merge request pipeline

Viewed 25

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
0 Answers
Related