Setting the new 'predicate-quantifier' configuration parameter to 'every'
makes it so that all the patterns have to match a file for it to be
considered changed.
This can be leveraged to ensure that you only build & test software changes
that have real impact on the behavior of the code, e.g. you can set up your
build to run when Typescript/Rust/etc. files are changed but markdown
changes in the diff will be ignored and you consume less resources to build.
The default behavior does not change by the introduction of this feature
so upgrading can be done safely knowing that existing workflows will not
break.
Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
the number returned by pullRequest.changed_files doesn't reflect the correct number of real changed files. Therefore lot of filters didn't work in my scenario, as it said nothing has changed. This especially happens if there are more than 100 files changed (first time I experienced it where over 1000 files have changed, and now when there were about 300 files that have changed).
I changed the detection by querying the api as long as it returns new results. This ensures all pages have been retrieved. It's tested and used in production on our end, but please check again if I didn't miss anything.
Thanks a lot for this awesome github action :)
* Avoid code repetition with exec() and output listeners
* Improve behavior for new branches and when it's running in ACT
* Detect parent commit only if needed
* Fix parent commit detection for initial commit
* Improve logging
* Improve current ref detection
* Fix issue when base is a already fetched tag
* Fix issue when base is a already fetched tag
* Update README
* Document usage with act
* Use `git log` to get changes in latest commit
* Disable other output for `git log`
* get short name from base ref + improve loggig
* update CHANGELOG
* Rework change detection via `git diff`
Previous implementation performed simple diff between two versions. New implementation fetches on demand more commits to have the merge base between two branches. Now it will detect only changes introduced by branch that was pushed, instead of mixing with changes introduced meanwhile on the base branch.
* Add support for specification of change type (add,modified,delete)
* Use NULL as separator in git-diff command output
* Improve PR test workflow
* Fix the workflow file
* Remove accidental string interpolation from action.yml
* Fix test workflow filters
* Improve self-test
* Add test case for matching any changed file
* Fix workflow test - step `name` was used instead of `id`
* Extend default pull_request trigger types
* Remove `edited` trigger to avoid executing workflow on non-code changes