on.pull_request.paths-ignore are not respected correctly
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 1.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 24
Description
Describe the bug
According to the documentation we can use paths-ignore in the same way for pull_request events as we can do for push events on.<push|pull_request|pull_request_target>.<paths|paths-ignore>.
However, if we define a workflow like the following, the behavior differs:
name: Echo Date
on:
push:
paths-ignore:
- 'README.md'
pull_request:
types: [opened, synchronize]
paths-ignore:
- 'README.md'
jobs:
echo-date:
runs-on: ubuntu-latest
name: "Echo"
steps:
- name: Run echo date
run: |
echo -e "Hello at $(date -I)"
Although it seems to be working at the beginning when I (1) created a pr, (2) pushed a change on README.md and (3) nothing triggered, the behavior changed as soon as one commit of the pr references a file outside of the paths-ignore list.
After a change to a file outside of the paths-ignore list, all following commits trigger the workflow.
Someone else mentioned a problem here as well: https://github.com/actions/runner/issues/545#issuecomment-1321467176
To Reproduce
You can find a minimal example here: https://github.com/GRBurst/pull_requests.paths
Steps to reproduce the behavior:
- Create an action as above (or fork the example)
- Create a new branch and a pr
- Add commits, where at least one commit changes a file outside the
paths-ignoredeclaration - Check that all following commits trigger the workflow (the pull_request events triggers, the push does not).
Expected behavior
I expect that the conditions to run the actions only take the last commit into account.
So if I have commit that changes a file outside the path definition, it triggers the workflow.
If a following commit does only changes to files declared in the paths-ignore list, the workflow should not trigger.
Runner Version and Platform
Version of your runner?
-> 2.299.1
OS of the machine running the runner? OSX/Windows/Linux/...
-> Ubuntu, 22.04.1, LTS
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the minimal reproduction linked in the issue and the shown workflow's pull_request paths-ignore behavior. Compare event handling after an initial commit changes a non-ignored file, using runner version 2.299.1 as context. Done means later commits changing only README.md no longer trigger the pull_request workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github-actions
- Domain
- ci-cd
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100