You want CI on push when application code changes, but not when only Markdown under 'docs/' changes. Which configuration is appropriate?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Use paths / paths-ignore under the push (or pull_request) trigger to filter by file changes. branches-ignore filters branch names, not folders.
Full explanation below image
Full Explanation
Path filters reduce wasted CI minutes in monorepos and doc-heavy repos. paths-ignore: ['docs/**'] skips runs when only those files change; careful: if a commit touches docs and src, the workflow still runs. branches-ignore matches branch names. concurrency does not filter paths. permissions do not suppress triggers. For complex monorepos, combine path filters with dynamic matrices from a detect-changes job. Scheduled workflows ignore path filters because they are not push events.