Skipping pipelines does not work for pipelines for merge requests

Summary

When pushing new commits to a merge request, with --push-option ci.skip it doesn't skip the pipeline that is intended for merge requests only.
It creates a new empty pipeline that is skipped instead, and still runs the original pipeline.

Steps to reproduce

  1. make a .gitlab-ci.yml with a job that should only run on merge requests only: [merge_requests]
  2. Open a merge request
  3. Push new commits to the merge request with the ci.skip push option as described here (or use --push-option if your git version does not support the short version)

Example Project

Pandabehr/example!11

What is the current bug behavior?

The merge requests gets an extra pipeline that is skipped (and empty) and the pipeline that is run in the merge request context still runs.

What is the expected correct behavior?

The pipeline for merge requests is skipped and no extra pipelines should be created.

Relevant logs and/or screenshots

image

Output of checks

This bug happens on GitLab.com