Commit Graph

18 Commits

Author SHA1 Message Date
Peter Somogyvari f90d5265d6
feat: add config parameter for predicate quantifier
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>
2024-02-22 12:48:55 -08:00
Michal Dorner b5fa2d5c02
Add list-files: csv format 2021-02-20 11:21:30 +01:00
Michal Dorner e4d886f503
Provide `shell` and `escape` options when formatting matching files 2020-12-17 22:13:28 +01:00
Michal Dorner ada1eee648
Simplify shell escaping - escape chars instead of quoting whole string 2020-12-17 22:13:28 +01:00
Michal Dorner b4eabb6049 Use picomatch + impl followups from #48 2020-11-09 00:45:53 +01:00
Billy Vong 5282566eab feat: Add support for multiple patterns when using file status
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.
2020-11-06 17:41:51 -08:00
Michal Dorner b37d4e9e86
Use micromatch instead of minimatch (#46)
* 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
2020-10-23 12:33:44 +02:00
Michal Dorner 75cbfb4be9
Support workflows triggered by any event (#44)
* Allow change detection on all event types

* mention commit SHA in docs for base parameter

* improve logging

* update CHANGELOG.md
2020-10-16 12:28:12 +02:00
Michal Dorner ff5bb057bf
v2.4.0 - support local execution with act + allow tags (#40)
* 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
2020-09-30 00:32:49 +02:00
Michal Dorner 81c90ccae8
Change detection using git "three dot" diff (#35)
* 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.
2020-09-01 22:47:38 +02:00
Michal Dorner 3f845744aa
Export files matching rules (#32)
* Export files matching rules

* Improve debug output

* Fix PR test workflow

* Always quote output path + fix PR test

* Use proper single quote escaping in workflow file

* Improve error handling and docs for list-files input parameter
2020-08-30 21:18:14 +02:00
Michal Dorner 1ff702da35
Extend filter syntax with optional specification of file status: add, modified, deleted (#22)
* 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
2020-08-04 20:57:29 +02:00
Michal Dorner 83deb9f037
Improve change detection for feature branches (#16)
* Detect changes against configured base branch

* Update README and action.yml

* Add job.outputs example

* Update CHANGELOG
2020-06-24 21:53:31 +02:00
Michal Dorner 7d201829e2
Support reusable paths blocks via yaml anchors (#13)
* 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
2020-06-19 23:39:06 +02:00
Michal Dorner 29d498d99d
Fix globbing, update metadata, update ncc (#4)
* 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
2020-05-21 13:46:48 +02:00
Michal Dorner f9b6173f5e
Fixes - making action pass self-test (#3)
* 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
2020-05-21 01:37:33 +02:00
Michal Dorner 4e726dd036 Implement fetching, filtering and tests 2020-05-21 00:31:16 +02:00
Michal Dorner b78de5e86b Initial commit 2020-05-20 17:03:08 +02:00