When CI_PIPELINE_SOURCE == "trigger", execute one job and skip other

I wanted to trigger a remote pipeline, in which I need to execute some job and skip some

I am successfully able to trigger the remote pipeline using below command

curl -X POST --fail -F token=xxxxxxxxxxx -F ref=feature/11xxxx1 -F variables[xxxxx_xxxx_xxxxx]="1.6.0-2" https://xxxxxx/api/v4/projects/xxxxx/trigger/pipeline

however when I add rule like below .i.e. I wanted to execute job Update dependencies and wanted to skip job Deploy Feature job when its a remote trigger .i.e.

  Update dependencies:
    stage: .pre
    image: xxxxx
    rules:
      - if: $CI_PIPELINE_SOURCE == "trigger"
    script:
    - echo $EXPORTER_SERVICE_VERSION
    - sed -E -i "s/(.*xxxxx\/xxxxxx:).*/\1$xxxxxx_VERSION/" docker-compose.yml
   artifacts:
     paths:
     - docker-compose.yml

 Deploy Feature job:
   rules:
     - if: $CI_PIPELINE_SOURCE == "trigger"
       when: never
     - if: $CI_PIPELINE_SOURCE == "merge_request_event"
       when: never
     - if: '$CI_COMMIT_REF_NAME =~ /^feature/'
   variables:
    ...
    ...
   stage: deploy
   image  :...
   before_script:
  - 
  script:
  after_script:
  - 
  tags:
  - linux-container

I get an error as

curl -X POST --fail -F token=xxxxxxxxxxx -F ref=feature/11xxxx1 -F variables[xxxxx_xxxx_xxxxx]=“1.6.0-2” https://xxxxxx/api/v4/projects/xxxxx/trigger/pipeline
curl: (22) The requested URL returned error: 400

If I remove the rule for Deploy Feature job

 if: $CI_PIPELINE_SOURCE == "trigger"
 when: never

Or used it as

if: $CI_PIPELINE_SOURCE != "trigger"

The remote pipeline did get trigger however Deploy Feature job becomes part of the pipeline which I wanted to skip when if: $CI_PIPELINE_SOURCE == “trigger”

kindly guide what configuration could be used to achieve this.