Rules:changes, check entire merge request

I would like to have a CI job which executes in merge requests if that merge request changes certain files. It appears to me if I set rules:changes, it only checks whether the most recent commit edits those files, rather than anything in the branch being merged. I see in the documentation that is supported with “only:changes” (GitLab CI/CD pipeline configuration reference | GitLab) but this is unavailable to me because I use rules elsewhere.

Is there a way to achieve this using rules:changes?

I’m currently on self-managed 13.5.4-ee

This is not the expected behavior. The rules:changes evaluates all paths expressed in a merge request diff, i.e. the same set of files you see in the tree on the Merge Request’s Changes tab.

Do you have a sample project, or perhaps a list of steps that demonstrates your observed behavior?

Could you please also share relevant portions of the CI pipeline config in use on the project?