Commit Graph

54 Commits

Author SHA1 Message Date
Michal Dorner af2564d3e0
Fix #90 getLocalRef() returns wrong ref
git show-ref will return all branches where end segment matches the input. This cause issues when there are both 'someBranch' and 'somePrefix/someBranch' branches. This fix ensures the correct ref is returned by explicitly matching segments after common parts (e.g. refs/heads).
2021-06-14 10:20:58 +02:00
Michal Dorner e59743163d
Fix unnecessary calls to getLocalRef() 2021-04-12 22:46:34 +02:00
Michal Dorner 78b1672eeb
Fix missing await 2021-04-12 22:31:38 +02:00
Michal Dorner f1c461fccf
Fix logging inside ensureRefAvailable() 2021-04-12 22:22:57 +02:00
Michal Dorner 0b18612ac3
Improve support for PR events + verify base and ref are used correctly 2021-04-12 16:29:29 +02:00
Michal Dorner d0507d9a8a
Improve log output 2021-04-11 21:39:09 +02:00
Michal Dorner 8d029eb508
Fix change detection in PR when pullRequest.changed_files was incorrect 2021-04-11 21:15:30 +02:00
Michal Dorner 58ed00ec48
Update README 2021-04-11 20:49:05 +02:00
Michal Dorner 02eeef4973
Fix `undefined` instead of ref in log output 2021-04-07 22:41:22 +02:00
Michal Dorner 37a6d38b2d
Add ref input parameter 2021-04-07 22:32:59 +02:00
Michal Dorner 208adf42c8
Ignore error when some tag on remote was updated 2021-03-29 17:09:18 +02:00
Michal Dorner a6989ad592
Get full ref name without multiple invocations to git show-ref 2021-03-26 00:05:48 +01:00
Michal Dorner 6d8169070c
Improve logging 2021-03-25 23:45:44 +01:00
Michal Dorner 3d4a25053b
Update dist 2021-03-25 23:39:10 +01:00
Michal Dorner 138368ff4f
Use ref instead of HEAD 2021-03-09 21:56:18 +01:00
Michal Dorner a301a0ad83
Refactor getChangesSinceMergeBase() code 2021-03-09 21:44:15 +01:00
Michal Dorner 0c0d1a854a
Fetch base and search merge-base without creating local branch 2021-03-09 21:13:57 +01:00
Michal Dorner 49abb091ed
Use combination of --depth and --deepen 2021-03-08 17:00:52 +01:00
Michal Dorner 8801c887e9
Do not try to update head of current branch 2021-03-08 15:29:27 +01:00
Michal Dorner 68792bf56a
Allow single line filters 2021-03-08 15:24:06 +01:00
Michal Dorner 31c576896e
Fix lastCommitCount has not been updated 2021-03-08 15:12:58 +01:00
Michal Dorner b5fa2d5c02
Add list-files: csv format 2021-02-20 11:21:30 +01:00
Michal Dorner c2766acabb
Add `${FILTER_NAME}_count` output 2021-01-29 19:54:44 +01:00
Michal Dorner b1a097ef7b
Rebuild dist/index.js 2021-01-26 21:28:06 +01:00
Ruben Laban 2c79a825c0 Fix grouping 2021-01-26 12:22:37 +01:00
Michal Dorner 9e8c9af501
Add "changes" output variable to support matrix job configuration 2020-12-17 22:33:11 +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 1934d574ce
Support local changes 2020-11-22 20:59:32 +01:00
Michal Dorner d599443ba5
Fix change detection using Github API (#51) 2020-11-13 20:15:41 +01:00
Michal Dorner eb8fe2c24b
Update dist/index.js and docs after PR #50 2020-11-13 18:55:57 +01:00
Michal Dorner b4eabb6049 Use picomatch + impl followups from #48 2020-11-09 00:45:53 +01: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 9553dabbd8
Remove usage of --no-auto-gc option (#42)
* Remove usage of --no-auto-gc option

This option is not supported in git versions < 2.23.
Older git versions might be used in self-hosted runners.

* Update CHANGELOG
2020-10-06 13:38:18 +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 483986d0a7
Merge branch 'master' into develop 2020-08-14 22:03:31 +02:00
Michal Dorner 3b817c9974
Add support for pull_request_target (#30)
Complements previous commit:
 - adds modified index.js
 - bumps version to 2.2.1
2020-08-13 21:55:56 +02:00
Michal Dorner f34047f516
Export changed files grouped by change status (#23) 2020-08-04 20:57:29 +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 caef9bef1f
Add working-directory input (#21) 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 affb29871a
Support push event (#10)
* Support triggering from push event
* Add self-test to build workflow
* Update action metadata
2020-06-15 21:49:10 +02:00
Michal Dorner 1cbb925a17
Change detection via git + rename `githubToken` to `token` (#9) 2020-05-26 17:16:09 +02:00
Michal Dorner a2e5f9f7bb
Filters input accepts path to external yaml file (#8)
* Filters input accepts path to external yaml file

* Fix formatting and eslint issues

* Fix file ext of filters yaml file

* Update documentation in README file
2020-05-24 22:50:33 +02:00
Michal Dorner 0c9e16cc6d
Update dependencies (#6) 2020-05-23 14:23:31 +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