Monorepo merge request ci

Hello,

I’m trying to setup a gitlab ci in a repository that contains multiple projects and I’m trying to improve the time it takes to execute the pipeline for merge requests.

I have multiple gitlab-ci files
*the root one which is triggering child pipeline
*one per project (nested under /apps/)

What I’m trying to do:

  1. Check changed files in all commits of the merge request
  2. Trigger child pipeline based on the path of changed files

I don’t need to execute any pipeline when there is no merge request opened

I was able to do it only on a commit base (not checking the whole commit of the merge request with

only:
  changes:
    - apps/projectA
    - package.json
    - gitlab-ci.yml

I’m thinking to replace to block ‘only’ (above) with the following.

only:
  - merge_requests

Is there any way to check all changes from all commits instead of just the last one (only in merge requests)?