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>
This adds support for using multiple patterns when checking for file status (added, modified, deleted) and as a result also allows you to use YAML anchors.
* Use micromatch instead of minimatch
micromatch claims to support full Bash 4.3 spec and it actually passes all the tests.
For example this fixes processing of '!(**/*.tsx|**/*.less)' pattern - needed by #45
* Update CHANGELOG.md
* 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
* Add support for nested arrays of path expressions
* Remove pull_request trigger type options
Default value is fine: opened, synchronize, reopened
* Add CHANGELOG
* Update README
* Enable minimatch dot option
It's not a default globbing behavior, however for our use-case is much more convenient to match those files.
* Update README and package.json