How to figure out why a workflow was run

In setting up a monorepo, I have a few workflow files that are using the on.push.paths functionality to only run when the relevant subtree is modified. However, I find that it is hard to troubleshoot when a job runs unexpectedly or vice-versa. Is there some way to see the files that github actions believes were changed and which on.push.paths items matched? I’m happy to dig into the source and submit a PR but I’m not sure where this particular functionality lives.

The runner source code is available, but I believe the event related things aren’t in there. I suspect it’s non-public code.

You could use git to determine which files changed, but parsing the workflow and comparing the list of changed files to the paths and paths-ignore lists is non-trivial. You may want to send feedback to GitHub and ask for this feature instead.

Thanks @Simran-B - where would be a good place to ask for this feature?


See the introduction about Contacting support for GitHub Actions:

If you have feedback or feature requests for GitHub Actions, share those in the Feedback form for GitHub Actions.

You can directly share your feature requests in the Feedback form. That will allow you to directly interact with the appropriate engineering team, and make it more convenient for the engineering team to collect and categorize your suggestions.

Sorry I missed that. Thanks!