Figuring out filtering for running CI flows on PRs

We have issue configuring workflows to run on PR. Our context might be a bit specific:

  • It is a monorepo
    • Structure be like api/ **, app/** , website/**
    • Each service has it’s own CI flow
  • Our default branch isn’t master but develop

We’re try to run only the required workflows with something like:

name: API checks

on:
  push:
    paths:
      - api/**

The issue: while PR are usually made from branch foo against our default develop branch, we noticed the path filter is unreliable and will sometimes run all the workflows, sometimes none, sometimes only the flows matching the actual changes.

I suspect the files changes are checked against master, no matter the repo’s default or PR target branch.

What are we doing wrong? I’ve checked the paths documentation but couldn’t make much sense of it

Thanks for the great work on GH Actions, having used them from alpha, we can feel the tremendous work and improvments!

Hello,

Would you mind sharing the name of your repo so I can look at our telemetry?  If you don’t want to share it here you can email me at chrispat@github.com.