Compare commits

...

217 Commits

Author SHA1 Message Date
github-actions[bot]
08d9eb8097 Merge branch 'main' into sec 2023-03-22 20:52:27 +00:00
Tonye Jack
07f86bcdc4 Update sync-release-version.yml 2023-03-22 14:47:57 -06:00
github-actions[bot]
e5ed59e264 Merge branch 'main' into sec 2023-03-22 20:39:22 +00:00
Tonye Jack
3a3ec498d8 Update sync-release-version.yml 2023-03-22 14:38:48 -06:00
github-actions[bot]
629250cf1a Merge branch 'main' into sec 2023-03-22 20:31:07 +00:00
Tonye Jack
ee137444f0 Update sync-release-version.yml 2023-03-22 14:30:26 -06:00
github-actions[bot]
2f34073ba5 Merge branch 'main' into sec 2023-03-22 20:26:37 +00:00
Tonye Jack
cda2902303 chore: add create sec tag job (#1042) 2023-03-22 14:26:24 -06:00
github-actions[bot]
2fe8a8845b Merge branch 'main' into sec 2023-03-22 18:28:23 +00:00
Tonye Jack
986ad9c20c chore: update sec-auto-merge.yml (#1041) 2023-03-22 12:28:03 -06:00
github-actions[bot]
ec5407d773 Merge branch 'main' into sec 2023-03-22 16:26:50 +00:00
Tonye Jack
c39d6d3f14 fix: bug with returning old and new rename files (#1040) 2023-03-22 16:26:34 +00:00
renovate[bot]
4209d61e09 chore(deps): update tj-actions/json2file action to v1.4.0 (sec) (#1039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 20:26:14 +00:00
github-actions[bot]
80c4c32e14 Merge branch 'main' into sec 2023-03-20 20:24:06 +00:00
renovate[bot]
71cf20e50d chore(deps): update tj-actions/json2file action to v1.4.0 (main) (#1038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 20:23:51 +00:00
github-actions[bot]
d556775eb5 Merge branch 'main' into sec 2023-03-20 19:34:05 +00:00
Tonye Jack
ac6318196f Update sec-auto-merge.yml 2023-03-20 13:33:37 -06:00
Tonye Jack
8d86a18fbc Update README.md 2023-03-20 12:59:06 -06:00
Tonye Jack
3d6f7aa7fe chore: add sec auto merge action (#1037) 2023-03-20 12:53:48 -06:00
renovate[bot]
1f09cf4aa8 chore(deps): update tj-actions/verify-changed-files action to v14 (sec) (#1036)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 14:53:06 +00:00
renovate[bot]
07647788d2 chore(deps): update tj-actions/glob action to v16.12 (sec) (#1035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 14:33:11 +00:00
renovate[bot]
0bf905f9c5 chore(deps): update tj-actions/verify-changed-files action to v14 (main) (#1034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 14:19:19 +00:00
Tonye Jack
0e71968fa5 Update renovate.json 2023-03-18 07:42:04 -06:00
Tonye Jack
f973319839 Update renovate.json 2023-03-18 07:37:31 -06:00
Tonye Jack
edebe24d1f Upgraded to v35.7.2 (#1033)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-17 14:16:24 +00:00
dependabot[bot]
9328bab880 Bump tj-actions/glob from 16.11 to 16.12 (#1032)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 23:01:40 -06:00
Tonye Jack
ad99acc982 chore: update README.md (#1031) 2023-03-16 17:00:42 -06:00
Tonye Jack
8c92f21e68 Update README.md 2023-03-16 05:09:08 -06:00
Tonye Jack
55b13c5f96 chore(deps): update peter-evans/create-pull-request action to v4.2.4 (#1029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-15 13:56:18 -06:00
renovate[bot]
4bcd0bbcf8 chore(deps): update peter-evans/create-pull-request action to v4.2.4 (#1028)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-15 05:35:46 +00:00
Tonye Jack
7e64030c44 Updated to pin dependent actions with full sha 2023-03-14 13:54:54 -06:00
Tonye Jack
6b1da8ffbd Upgraded to v35.7.1 (#1027)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-14 19:49:49 +00:00
Tonye Jack
4e680e146a Update README.md 2023-03-14 11:19:11 -06:00
Tonye Jack
c8fb92cb80 Updated README.md (#1026)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-03-14 11:18:20 -06:00
Tonye Jack
32a737ef81 fix: switch to git tag as opposed to full sha (#1024) 2023-03-14 11:01:26 -06:00
Tonye Jack
03d80c561a Update README.md 2023-03-14 11:01:05 -06:00
Tonye Jack
d5cbe0076a Updated README.md (#1025)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-14 10:35:51 -06:00
Tonye Jack
e3cd18048c Update README.md 2023-03-14 10:25:49 -06:00
Tonye Jack
1d1543af8c Upgraded to v35.7.0 (#1022)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-13 19:23:00 +00:00
Tonye Jack
172ae47338 chore(docs): Added example for saving the outputs to a file (#1021) 2023-03-13 18:06:26 +00:00
Tonye Jack
bd376fbcfa pin: glob and json2file actions to the latest full length sha (#1020) 2023-03-13 17:20:20 +00:00
Tonye Jack
93b782be1f Update README.md 2023-03-12 04:01:54 -06:00
renovate[bot]
10b3f59625 chore(deps): update tj-actions/release-tagger action to v3 (#1018)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 22:23:25 +00:00
renovate[bot]
53acb3010e chore(deps): update tj-actions/github-changelog-generator action to v1.18 (#1017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 09:09:32 +00:00
Tonye Jack
3032ed1238 Upgraded to v35.6.4 (#1016)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-10 06:02:30 +00:00
Tonye Jack
84ed30e2f4 fix: error fetching history for PR branches (#1015)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-09 21:01:01 -07:00
Tonye Jack
6961203862 Upgraded to v35.6.3 (#1012)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-09 14:59:44 +00:00
renovate[bot]
1837ef5578 chore(deps): update tj-actions/auto-doc action to v2 (#1011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 13:22:16 +00:00
Tonye Jack
74b06cafc9 chore: simplify fetch (#1009)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-03-09 03:52:54 +00:00
Tonye Jack
74b3be4bf5 Upgraded to v35.6.2 (#1008)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-09 03:30:56 +00:00
Tonye Jack
5ce975c602 fix: fetching history for pr made from a fork with checkout set to the target repository (#1007) 2023-03-09 03:02:52 +00:00
Tonye Jack
89c8821949 Update README.md 2023-03-07 15:48:59 -07:00
Tonye Jack
bd5870c212 Update README.md 2023-03-07 15:48:22 -07:00
renovate[bot]
570b202ee2 chore(deps): update codacy/codacy-analysis-cli-action action to v4.3.0 (#1005)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 14:48:21 +00:00
Tonye Jack
7a453ffa2e Upgraded to v35.6.1 (#1004)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-28 20:37:26 +00:00
Tonye Jack
04124efe75 feat: pull submodule history for pull request events (#1003) 2023-02-28 19:47:37 +00:00
Tonye Jack
6f22f2f9ba Upgraded to v35.6.0 (#1002)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-26 20:53:20 +00:00
Tonye Jack
3ee6abf610 feat: add support for listing deleted submodules. (#1001) 2023-02-26 15:20:02 +00:00
Ben Hammond
e26c03691d fix: readme typo (#1000) 2023-02-25 20:54:48 -07:00
Tonye Jack
fa4776dd71 Update README.md 2023-02-22 08:39:38 -07:00
Tonye Jack
379de7170f Update README.md 2023-02-22 01:03:16 -07:00
Tonye Jack
23ffa77dee Update README.md 2023-02-22 01:00:59 -07:00
Tonye Jack
fdbd13bcad Upgraded to v35.5.6 (#997)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-20 19:14:09 +00:00
Tonye Jack
23e3c4300c fix: error fetch remote ref when using fetch depth of 1 (#996) 2023-02-20 18:39:52 +00:00
renovate[bot]
063e674726 chore(deps): update pascalgn/automerge-action action to v0.15.6 (#994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 23:19:47 +00:00
Tonye Jack
62102d8eaa Upgraded to v35.5.5 (#991)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-16 15:49:30 +00:00
Tonye Jack
5a331a4999 Update diff-sha.sh 2023-02-16 06:33:33 -07:00
Tonye Jack
89cf313699 Update README.md 2023-02-16 06:30:23 -07:00
Tonye Jack
e0e0326cc5 Update README.md 2023-02-16 06:26:41 -07:00
Tonye Jack
ca6650c514 fix: bug with fetching history (#989) 2023-02-16 06:15:57 -07:00
Tonye Jack
bda7fb2353 Upgraded to v35.5.4 (#986)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-16 05:58:05 +00:00
Tonye Jack
74338865c1 Merge branch 'chore/update-submodule' 2023-02-15 21:48:41 -07:00
Tonye Jack
b477871310 fix: bug getting diff for submodules and fetching more history (#980)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-16 04:42:55 +00:00
Tonye Jack
598d24527e Remove debugging 2023-02-15 20:45:00 -07:00
Tonye Jack
6498ab1ae4 Fixed the test 2023-02-15 20:43:10 -07:00
Tonye Jack
8aea4cfc19 Fixed the test 2023-02-15 20:39:45 -07:00
Tonye Jack
55362b9d1b Fixed the test 2023-02-15 20:36:23 -07:00
Tonye Jack
e47c489b15 Fixed the test 2023-02-15 20:08:38 -07:00
Tonye Jack
5e3c67ab60 Fixed the test 2023-02-15 20:06:17 -07:00
Tonye Jack
3253948ff2 Updated the fetch args 2023-02-15 20:03:18 -07:00
Tonye Jack
0e4863b3a2 Fixed the test 2023-02-15 19:59:16 -07:00
Tonye Jack
10999da6dc Fixed the test 2023-02-15 19:46:42 -07:00
Tonye Jack
07dba6b85d Fixed the test 2023-02-15 19:43:05 -07:00
Tonye Jack
ab710fb168 Fixed the test 2023-02-15 19:35:16 -07:00
repo-ranger[bot]
cec01b8d1d Merge branch 'main' into chore/update-submodule 2023-02-16 01:33:21 +00:00
Tonye Jack
8efe373530 Update README.md 2023-02-15 18:32:02 -07:00
Tonye Jack
123da80395 Updated the test 2023-02-15 18:08:56 -07:00
Tonye Jack
ab5069cbb1 Remove debugging 2023-02-15 18:04:27 -07:00
repo-ranger[bot]
eebd3f0a07 Merge branch 'main' into chore/update-submodule 2023-02-16 00:56:29 +00:00
Tonye Jack
a2ffc56365 Updated README.md (#984)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-15 17:55:26 -07:00
repo-ranger[bot]
58afb05fef Merge branch 'main' into chore/update-submodule 2023-02-16 00:55:18 +00:00
Tonye Jack
fe5db36271 Update README.md 2023-02-15 17:54:23 -07:00
Tonye Jack
5982c92676 Update to include submodules. 2023-02-15 17:22:35 -07:00
Tonye Jack
4d6ed243ff Update error message 2023-02-15 17:09:42 -07:00
Tonye Jack
adb9fa830d Update error message 2023-02-15 17:07:19 -07:00
Tonye Jack
73246a42b0 Update error message 2023-02-15 17:04:39 -07:00
Tonye Jack
65a49b917f Update error message 2023-02-15 16:54:30 -07:00
Tonye Jack
5e8b123b3d Updated get_diff 2023-02-15 15:50:34 -07:00
Tonye Jack
6164e1cd7f Update get-changed-paths.sh 2023-02-14 04:45:30 -07:00
Tonye Jack
4dc0f1f904 Update get-changed-paths.sh 2023-02-14 04:41:11 -07:00
Tonye Jack
b4d152a6a5 Merge branch 'main' into chore/update-submodule 2023-02-14 04:14:14 -07:00
Tonye Jack
f0fc230482 Update get-changed-paths.sh 2023-02-14 04:14:01 -07:00
Tonye Jack
cb2d527650 Upgraded to v35.5.3 (#982)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-14 11:09:49 +00:00
Tonye Jack
68f10de3ea Enable debugging. 2023-02-13 21:28:45 -07:00
Tonye Jack
d5414fd30b fix: bug with pr from forks with similar branch names (#981) 2023-02-13 21:26:59 -07:00
Tonye Jack
608b7f81de Enable debugging. 2023-02-13 21:23:31 -07:00
Tonye Jack
a4b2b85206 Updated the test 2023-02-13 21:21:43 -07:00
Tonye Jack
adde7bbfea chore: update submodule 2023-02-13 21:01:50 -07:00
Tonye Jack
85bd8694a9 Update README.md 2023-02-09 12:47:53 -07:00
Tonye Jack
4dce8843f8 Upgraded to v35.5.2 (#977)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-09 16:55:28 +00:00
Tonye Jack
7f2aa19bdc chore: update use of tilde to use caret instead (#975) 2023-02-09 14:33:33 +00:00
Tonye Jack
4ffc815953 Upgraded to v35.5.1 (#974)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-07 03:44:03 +00:00
Tonye Jack
210cc839c2 fix: including non branch changes in diff output (#973)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-07 01:25:06 +00:00
Tonye Jack
2c684aedfa Update README.md 2023-02-06 18:09:57 -07:00
Tonye Jack
2703edcc41 chore: update readme (#971) 2023-02-04 21:44:21 +00:00
Tonye Jack
1a3ea1d324 Upgraded to v35.5.0 (#969)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-02-01 04:01:02 +00:00
Tonye Jack
db3ea27a0c Updated README.md (#968)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-31 18:53:59 -07:00
Tonye Jack
fc6ac10d4c Merge branch 'feat/add-support-for-excluding-the-top-level-directory' 2023-01-31 18:42:28 -07:00
Tonye Jack
08f351ba16 feat: add support for excluding the top level directory (#967) 2023-02-01 00:38:55 +00:00
Tonye Jack
aae4005247 Update action.yml 2023-01-31 17:23:32 -07:00
Tonye Jack
eb97e78971 Update test.yml 2023-01-31 17:19:40 -07:00
Tonye Jack
35d9bb6ce9 Updated the test 2023-01-31 17:09:22 -07:00
Tonye Jack
ce8c198347 Updated the test. 2023-01-31 17:06:50 -07:00
Tonye Jack
1982157b6c feat: add support for excluding the top level directory 2023-01-31 16:54:49 -07:00
Tonye Jack
dddfbd694c Update README.md 2023-01-26 11:49:02 -07:00
Tonye Jack
41ed98fdd5 chore: update docs (#964) 2023-01-25 08:14:32 -07:00
renovate[bot]
966bc5f420 chore(deps): update reviewdog/action-shellcheck action to v1.17 (#961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-21 23:54:28 +00:00
Tonye Jack
ddcadfd11d Upgraded to v35.4.4 (#960)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-19 23:28:17 +00:00
Tonye Jack
299748b520 chore: code clean up (#959) 2023-01-19 22:49:37 +00:00
Tonye Jack
57d9664f8e Update diff-sha.sh 2023-01-19 14:15:50 -07:00
Tonye Jack
653adcf614 fix: revert change to pull pr branch via the branch name (#958) 2023-01-19 14:11:25 -07:00
Tonye Jack
019dd18a51 Update README.md 2023-01-19 08:58:09 -07:00
Tonye Jack
235067705e Upgraded to v35.4.3 (#954)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-18 19:02:34 -07:00
Tonye Jack
f487fc6c7b feat: add guide for retrieving changed files for tags (#955) 2023-01-18 19:02:19 -07:00
Tonye Jack
0953088baa Update diff-sha.sh 2023-01-18 17:44:51 -07:00
Tonye Jack
ddc065bac8 Update diff-sha.sh 2023-01-18 17:42:26 -07:00
Tonye Jack
82b26d6c01 Update diff-sha.sh 2023-01-18 17:05:21 -07:00
Tonye Jack
c54e638a31 Update diff-sha.sh 2023-01-18 16:51:30 -07:00
Tonye Jack
e7bcef0f0b fix: handling since last remote commits for the first pr branch commit (#953) 2023-01-18 23:35:50 +00:00
Tonye Jack
6f8a32e362 Upgraded to v35.4.2 (#951)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-18 19:22:55 +00:00
Tonye Jack
0562b9f865 fix: handle case of invalid file patterns (#950) 2023-01-18 11:54:46 -07:00
Tonye Jack
be519638b0 Update README.md 2023-01-17 17:27:32 -07:00
Tonye Jack
596fc641d0 Update README.md 2023-01-17 17:19:40 -07:00
Tonye Jack
c0c2634976 Update README.md 2023-01-17 05:26:20 -07:00
Tonye Jack
5ac4c9fe42 Updated README.md (#948)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-13 19:34:44 +00:00
Tonye Jack
93ae7c6b6a Update README.md 2023-01-13 12:16:39 -07:00
Tonye Jack
ca8881ae34 Upgraded to v35.4.1 (#946)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-11 23:15:50 +00:00
Tonye Jack
487675b843 fix: bug retrieving diff with custom a base sha (#945)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-11 20:58:50 +00:00
Tonye Jack
988322a381 Update diff-sha.sh 2023-01-11 13:36:35 -07:00
Tonye Jack
30649ae7e0 Updated README.md (#943)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2023-01-10 19:55:11 +00:00
Tonye Jack
52c733bd7b chore: make since_last_remote_commit optional (#942) 2023-01-10 19:38:39 +00:00
Tonye Jack
e6a750f507 Update README.md 2023-01-06 10:58:28 -07:00
Tonye Jack
b1a4c25c63 Updated .github/workflows/update-readme.yml 2023-01-05 22:01:58 -07:00
Tonye Jack
15be594e99 Updated .github/workflows/update-readme.yml 2023-01-05 21:46:20 -07:00
Tonye Jack
5af8560e3b Updated .github/workflows/update-readme.yml 2023-01-05 21:22:49 -07:00
Tonye Jack
ef3b39a58e Updated .github/workflows/update-readme.yml 2023-01-05 21:21:03 -07:00
Tonye Jack
a7850c2ddb Upgraded to v35.4.0 (#937)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-05 20:25:57 +00:00
Chiel Fernhout
9a6dabf8d1 Make example consistent and out of the box usable (#931)
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2023-01-05 19:24:02 +00:00
Tonye Jack
4f9f822a4a Update README.md 2023-01-05 12:09:37 -07:00
Tonye Jack
e5ceb2cea2 Update README.md 2023-01-05 11:20:14 -07:00
Tonye Jack
238f44e1cf Upgraded to v35.3.2 (#936)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-05 11:12:15 -07:00
Tonye Jack
dc4c7d50aa fix: error overriding the base sha (#933) 2023-01-05 11:12:03 -07:00
Tonye Jack
ebf889a3b1 feat: skip fetching remote refs for non shallow clones (#934) 2023-01-05 11:01:14 -07:00
Tonye Jack
45c8d9cb88 Updated README.md (#935)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-05 11:00:54 -07:00
allcontributors[bot]
19b584354a docs: add cfernhout as a contributor for doc (#932)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-01-05 10:58:53 -07:00
Tonye Jack
7839ede089 fix(regression): invalid json output. (#930)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-05 10:19:06 -07:00
renovate[bot]
15cb0ce053 chore(deps): update actions/checkout action to v3.3.0 (#929)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-05 08:19:08 -07:00
Tonye Jack
c50c1e0f0c Update manual-test.yml 2023-01-05 08:17:46 -07:00
Tonye Jack
b6c440bf6f Upgraded to v35.3.1 (#928)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-05 09:32:32 +00:00
Tonye Jack
c2296c1b04 fix: json output (#927) 2023-01-05 02:09:03 -07:00
Tonye Jack
bacda0ec4f Upgraded to v35.3.0 (#925)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-04 20:23:36 -07:00
Tonye Jack
ea251d4d2f fix: bug dirnames output (#923) 2023-01-04 18:13:54 -07:00
renovate[bot]
41e8587ad1 chore(deps): update tj-actions/auto-doc action to v1.7.3 (#922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 00:26:33 +00:00
Tonye Jack
6159d43b91 Updated README.md (#921)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-03 00:40:10 -07:00
Tonye Jack
83eb7d0871 Update action.yml 2023-01-03 00:31:55 -07:00
Tonye Jack
e80b1c7e65 Updated README.md (#920)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-02 20:23:37 +00:00
Tonye Jack
4c09115926 Update action.yml 2023-01-02 13:06:25 -07:00
Tonye Jack
3f78288717 Upgraded to v35.2.1 (#919)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-02 06:54:57 +00:00
Tonye Jack
1d1287f9fa Updated README.md (#918)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-01 21:41:47 -07:00
Tonye Jack
613e474ee0 Update README.md 2023-01-01 21:40:36 -07:00
Tonye Jack
8125192be8 chore: update readme (#916) 2023-01-02 04:40:19 +00:00
Tonye Jack
d5d55864de Update action.yml 2023-01-01 20:00:39 -07:00
dependabot[bot]
508ea1fe11 Bump tj-actions/auto-doc from 1.7.1 to 1.7.2 (#917)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-01 19:55:51 -07:00
Tonye Jack
dbfd5e10a7 fix: bug running on pull_request_review (#915) 2023-01-01 11:39:47 -07:00
Tonye Jack
4ca6f666de Updated .github/workflows/update-readme.yml 2022-12-30 21:52:25 -07:00
Tonye Jack
20abff4daa Updated README.md (#914)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2022-12-31 03:59:38 +00:00
renovate[bot]
011c918754 chore(deps): update tj-actions/auto-doc action to v1.7.2 (#913)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-31 03:43:36 +00:00
Tonye Jack
71a44a5c8c Updated README.md (#912)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2022-12-30 09:34:56 +00:00
renovate[bot]
42b8312161 chore(deps): update tj-actions/auto-doc action to v1.7.1 (#911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-30 09:15:29 +00:00
Tonye Jack
99639db2ad Upgraded to v35.2.0 (#910)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-30 07:52:59 +00:00
Tonye Jack
392359fc8c chore: update the test (#909) 2022-12-30 07:03:31 +00:00
Tonye Jack
b4afd867a1 Updated README.md (#908)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-29 22:27:48 -07:00
adonisgarciac
171fd357a8 add raw-output option for json output (#900)
Co-authored-by: Tonye Jack <jtonye@ymail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-29 22:27:08 -07:00
allcontributors[bot]
232c8a3b69 docs: add adonisgarciac as a contributor for code, and doc (#907)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2022-12-29 22:26:57 -07:00
Tonye Jack
8fb979df89 Upgraded to v35.1.2 (#905)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-29 22:24:18 +00:00
Tonye Jack
7f33882a12 Updated README.md (#904)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-29 14:58:35 -07:00
Tonye Jack
8aef40ac80 Update action.yml 2022-12-29 14:53:10 -07:00
Tonye Jack
7fcaecbe85 Updated README.md (#903)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2022-12-29 14:52:22 -07:00
Tonye Jack
8bb2cb2854 feat: add support for excluding matched directories (#902) 2022-12-29 21:50:16 +00:00
renovate[bot]
088336658d chore(deps): update tj-actions/github-changelog-generator action to v1.17 (#899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 17:45:55 +00:00
Tonye Jack
57f3d32fad Update test.yml 2022-12-28 10:28:40 -07:00
Tonye Jack
d09f11f8d0 Update test.yml 2022-12-28 09:43:06 -07:00
Tonye Jack
7e8d87b891 Update manual-matrix-test.yml 2022-12-28 09:34:06 -07:00
Tonye Jack
ee6a0bc6dc Upgraded to v35.1.1 (#898)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-26 16:07:35 +00:00
Tonye Jack
1d8a2f9137 Updated README.md (#897)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2022-12-26 07:07:22 +00:00
Tonye Jack
8a5f6280e6 chore: update the default sha (#896) 2022-12-26 06:51:17 +00:00
Tonye Jack
61648e78ea Update README.md 2022-12-22 00:22:12 -07:00
Tonye Jack
2693e63ae2 Update README.md 2022-12-20 21:07:01 -07:00
Tonye Jack
ed82d95e3a Upgraded to v35.1.0 (#892)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-19 19:06:13 +00:00
Tonye Jack
0626c3f940 Updated README.md (#891)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2022-12-19 11:00:26 -07:00
Tonye Jack
83952deb06 feat: add support for writing outputs to files (#890)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 17:51:22 +00:00
Tonye Jack
c4bb28b25e Upgraded to v35.0.1 (#889)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-19 09:32:06 +00:00
Tonye Jack
a2b1e5dbb9 chore: update test (#888) 2022-12-19 09:06:52 +00:00
Tonye Jack
349b9cd596 chore: code cleanup (#887)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 08:12:13 +00:00
Tonye Jack
565ad867fa Update README.md 2022-12-18 23:40:18 -07:00
Tonye Jack
d984765c3c Update README.md 2022-12-18 23:19:15 -07:00
Tonye Jack
f25e6fe945 Upgraded to v35 (#886)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-19 06:06:50 +00:00
21 changed files with 1363 additions and 356 deletions

View File

@@ -159,6 +159,25 @@
"contributions": [
"code"
]
},
{
"login": "adonisgarciac",
"name": "adonisgarciac",
"avatar_url": "https://avatars.githubusercontent.com/u/71078987?v=4",
"profile": "https://github.com/adonisgarciac",
"contributions": [
"code",
"doc"
]
},
{
"login": "cfernhout",
"name": "Chiel Fernhout",
"avatar_url": "https://avatars.githubusercontent.com/u/22294606?v=4",
"profile": "https://github.com/cfernhout",
"contributions": [
"doc"
]
}
],
"contributorsPerLine": 7,

View File

@@ -16,7 +16,7 @@ jobs:
github.actor == 'renovate'
steps:
- name: automerge
uses: pascalgn/automerge-action@v0.15.5
uses: pascalgn/automerge-action@v0.15.6
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
MERGE_METHOD: "rebase"

View File

@@ -29,7 +29,7 @@ jobs:
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI
continue-on-error: true
uses: codacy/codacy-analysis-cli-action@v4.2.0
uses: codacy/codacy-analysis-cli-action@v4.3.0
with:
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
# You can also omit the token and run the tools that support default configurations

View File

@@ -3,6 +3,7 @@ name: Manual Test
on:
workflow_dispatch:
jobs:
test:
name: Test changed-files

View File

@@ -1,7 +1,10 @@
name: Manual Matrix Test
name: Matrix Test
on:
workflow_dispatch:
pull_request:
branches:
- main
jobs:
changed-files:
@@ -13,16 +16,14 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # needed for tj-actions/changed-files
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: ./
with:
json: true
- name: List all changed files
run: |
echo '${{ steps.changed-files.outputs.all_changed_files }}'
run: echo '${{ steps.changed-files.outputs.all_changed_files }}'
- id: set-matrix
run: echo "matrix={\"container\":${{ steps.changed-files.outputs.all_changed_files }}}" >> "$GITHUB_OUTPUT"

33
.github/workflows/sec-auto-merge.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Auto merge and fix conflicts
on:
push:
branches:
- main
jobs:
automerge-sec:
runs-on: ubuntu-latest
name: Auto merge and fix merge conflicts
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
persist-credentials: false
- name: Fix merge conflicts
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git checkout sec
git merge --no-edit --no-ff --strategy-option=ours main
- name: Push changes
uses: ad-m/github-push-action@master
continue-on-error: true
with:
github_token: ${{ secrets.PAT_TOKEN }}
branch: sec

View File

@@ -19,7 +19,7 @@ jobs:
git submodule update --remote --recursive
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.2.3
uses: peter-evans/create-pull-request@v4.2.4
with:
title: "Updated submodule"
labels: "merge when passing"

View File

@@ -5,6 +5,31 @@ on:
jobs:
create-sec-tag:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: sec
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v6
- name: Generate new tag
id: generate-tag
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git tag -a ${{ steps.branch-name.outputs.tag }}-sec -m "Security release for ${{ steps.branch-name.outputs.tag }}"
- name: Push tag
uses: ad-m/github-push-action@master
with:
tags: true
github_token: ${{ secrets.PAT_TOKEN }}
branch: sec
update-version:
runs-on: ubuntu-latest
steps:
@@ -12,7 +37,7 @@ jobs:
with:
fetch-depth: 0
- name: Run release-tagger
uses: tj-actions/release-tagger@v2
uses: tj-actions/release-tagger@v3
- name: Sync release version.
uses: tj-actions/sync-release-version@v13
id: sync-release-version
@@ -22,11 +47,11 @@ jobs:
paths: |
README.md
- name: Generate CHANGELOG
uses: tj-actions/github-changelog-generator@v1.15
uses: tj-actions/github-changelog-generator@v1.18
with:
output: 'HISTORY.md'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.2.3
uses: peter-evans/create-pull-request@v4.2.4
with:
base: "main"
labels: "merge when passing"

View File

@@ -3,19 +3,13 @@ name: CI
on:
push:
branches:
- main
- "**"
pull_request:
types:
- closed
- opened
- synchronize
- reopened
branches:
- main
pull_request_review:
types:
- submitted
branches:
- main
jobs:
shellcheck:
@@ -26,18 +20,11 @@ jobs:
- name: Checkout to branch
uses: actions/checkout@v3
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.16
with:
github_token: ${{ secrets.PAT_TOKEN }}
uses: reviewdog/action-shellcheck@v1.17
test-multiple-repositories:
name: Test with multiple repositories
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
max-parallel: 2
matrix:
platform: [ubuntu-latest]
runs-on: ubuntu-latest
steps:
- name: Checkout into dir1
uses: actions/checkout@v3
@@ -88,13 +75,8 @@ jobs:
test-using-since-and-until:
name: Test changed-files using since and until
runs-on: ${{ matrix.platform }}
runs-on: ubuntu-latest
if: github.event_name == 'push'
strategy:
fail-fast: false
max-parallel: 2
matrix:
platform: [ubuntu-latest]
steps:
- name: Checkout to branch
@@ -144,12 +126,7 @@ jobs:
test-similar-base-and-commit-sha:
name: Test changed-files similar base and commit sha
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
platform: [ubuntu-latest]
runs-on: ubuntu-latest
steps:
- name: Checkout to branch
@@ -179,12 +156,7 @@ jobs:
test-unset-github-output-env:
name: Test unset GITHUB_OUTPUT env
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
platform: [ubuntu-latest]
runs-on: ubuntu-latest
steps:
- name: Checkout to branch
@@ -207,13 +179,13 @@ jobs:
test-limited-commit-history:
name: Test changed-files with limited commit history
runs-on: ${{ matrix.platform }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
platform: [ubuntu-latest]
fetch-depth: [1, 2]
input-fetch_depth: [1, 50]
steps:
- name: Checkout to branch
@@ -224,6 +196,8 @@ jobs:
- name: Run changed-files
id: changed-files
uses: ./
with:
fetch_depth: ${{ matrix.input-fetch_depth }}
- name: Show output
run: |
@@ -233,12 +207,7 @@ jobs:
test-non-existent-base-sha:
name: Test changed-files non existent base sha
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
platform: [ubuntu-latest]
runs-on: ubuntu-latest
steps:
- name: Checkout to branch
@@ -285,12 +254,7 @@ jobs:
test-non-existent-sha:
name: Test changed-files non existent sha
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
platform: [ubuntu-latest]
runs-on: ubuntu-latest
steps:
- name: Checkout to branch
@@ -335,6 +299,43 @@ jobs:
echo "Expected: (failure) got ${{ steps.changed-files-specific.outcome }}"
exit 1
test-submodules:
name: Test changed-files with submodule
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
fetch-depth: [0, 1, 2]
steps:
- name: Checkout to branch
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
submodules: recursive
fetch-depth: ${{ matrix.fetch-depth }}
- name: Run changed-files with submodule
id: changed-files
uses: ./
with:
base_sha: "85bd869"
sha: "adde7bb"
fetch_depth: 60000
- name: Verify added files
if: steps.changed-files.outputs.added_files != 'test/demo/test/test.txt'
run: |
echo "Expected: (test/demo/test/test.txt) got ${{ steps.changed-files.outputs.added_files }}"
exit 1
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
test:
name: Test changed-files
runs-on: ${{ matrix.platform }}
@@ -343,7 +344,7 @@ jobs:
max-parallel: 4
matrix:
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, windows-2022]
fetch-depth: [0, 1]
fetch-depth: [0, 1, 2]
steps:
- name: Checkout
@@ -373,6 +374,18 @@ jobs:
echo '${{ toJSON(steps.changed-files-since-last-remote-commit.outputs) }}'
shell:
bash
- name: Run changed-files with write_output_files
id: changed-files-write-output-files
uses: ./
with:
json: true
write_output_files: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-write-output-files.outputs.all_changed_files) }}'
cat .github/outputs/all_changed_files.json
shell:
bash
- name: Run changed-files with include_all_old_new_renamed_files
id: changed-files-all-old-new-renamed-files
uses: ./
@@ -438,6 +451,28 @@ jobs:
exit 1
shell:
bash
- name: Run changed-files with dir_names and dir_names_exclude_root
id: changed-files-dir-names-exclude-root
uses: ./
with:
base_sha: dddfbd69
sha: ce8c1983
fetch_depth: 60000
dir_names: "true"
dir_names_exclude_root: "true"
dir_names_max_depth: "1"
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-dir-names-exclude-root.outputs) }}'
shell:
bash
- name: Check dir_names output
if: steps.changed-files-dir-names-exclude-root.outputs.all_changed_files != '.github'
run: |
echo "Invalid output: Expected (.github) got (${{ steps.changed-files-dir-names-exclude-root.outputs.all_changed_files }})"
exit 1
shell:
bash
- name: Run changed-files with dir_names
id: changed-files-dir-names
uses: ./
@@ -452,9 +487,9 @@ jobs:
shell:
bash
- name: Check dir_names output
if: "!contains(steps.changed-files-dir-names.outputs.all_changed_files, 'test')"
if: steps.changed-files-dir-names.outputs.all_changed_files != 'test'
run: |
echo "Invalid output: Expected to include (test) got (${{ steps.changed-files-dir-names.outputs.all_changed_files }})"
echo "Invalid output: Expected (test) got (${{ steps.changed-files-dir-names.outputs.all_changed_files }})"
exit 1
shell:
bash
@@ -473,9 +508,9 @@ jobs:
shell:
bash
- name: Check dir_names output
if: "!contains(steps.changed-files-dir-names-specific.outputs.all_changed_files, 'test')"
if: steps.changed-files-dir-names.outputs.all_changed_files != 'test'
run: |
echo "Invalid output: Expected to include (test) got (${{ steps.changed-files-dir-names-specific.outputs.all_changed_files }})"
echo "Invalid output: Expected (test) got (${{ steps.changed-files-dir-names-specific.outputs.all_changed_files }})"
exit 1
shell:
bash
@@ -520,6 +555,18 @@ jobs:
echo '${{ toJSON(steps.changed-files-json.outputs.all_changed_files) }}'
shell:
bash
- name: Run changed-files with json raw format
id: changed-files-json-raw-format
uses: ./
with:
json: true
json_raw_format: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-json-raw-format.outputs) }}'
echo '${{ toJSON(steps.changed-files-json-raw-format.outputs.all_changed_files) }}'
shell:
bash
- name: Run changed-files with comma separator
id: changed-files-comma
uses: ./
@@ -838,8 +885,11 @@ jobs:
(
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'action.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/greetings.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test.txt')
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test2/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test2/test3/test4/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '[test new].txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/greetings.yml')
)
run: |
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_changed }}" != "false" ]]; then
@@ -860,8 +910,11 @@ jobs:
(
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'action.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/greetings.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test.txt')
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test2/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test2/test3/test4/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '[test new].txt') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/greetings.yml')
)
run: |
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_modified }}" != "false" ]]; then
@@ -878,7 +931,16 @@ jobs:
shell:
bash
- name: Verify any_deleted from source files
if: "!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test.txt')"
if: |
(
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'action.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test2/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test2/test3/test4/test.txt') &&
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, '[test new].txt') &&
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/greetings.yml')
)
run: |
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_deleted }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-source-file.outputs.any_deleted }})"
@@ -904,7 +966,15 @@ jobs:
shell:
bash
- name: Verify any_changed files comma separator
if: "!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'action.yml') && !contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-comma.outputs.all_changed_files, 'test/test.txt')"
if: |
(
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'action.yml') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'test/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'test/test2/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'test/test2/test3/test4/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, '[test new].txt')
)
run: |
if [[ "${{ steps.changed-files-specific-comma-source-file.outputs.any_changed }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-comma-source-file.outputs.any_changed }})"
@@ -913,7 +983,15 @@ jobs:
shell:
bash
- name: Verify any_modified files comma separator
if: "!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-comma.outputs.all_modified_files, 'test/test.txt')"
if: |
(
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'action.yml') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'test/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'test/test2/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'test/test2/test3/test4/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, '[test new].txt')
)
run: |
if [[ "${{ steps.changed-files-specific-comma-source-file.outputs.any_modified }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-comma-source-file.outputs.any_modified }})"
@@ -922,7 +1000,15 @@ jobs:
shell:
bash
- name: Verify any_deleted files with comma separator
if: "!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-comma.outputs.deleted_files, 'test/test.txt')"
if: |
(
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'action.yml') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'test/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'test/test2/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'test/test2/test3/test4/test.txt') &&
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, '[test new].txt')
)
run: |
if [[ "${{ steps.changed-files-specific-comma-source-file.outputs.any_deleted }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-comma-source-file.outputs.any_deleted }})"
@@ -930,18 +1016,6 @@ jobs:
fi
shell:
bash
- name: Run changed-files with custom sha
id: changed-files-custom-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-custom-sha.outputs) }}'
shell:
bash
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v6
@@ -964,6 +1038,31 @@ jobs:
echo '${{ toJSON(steps.changed-files-custom-base-sha.outputs) }}'
shell:
bash
- name: Run changed-files with custom sha
id: changed-files-custom-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-custom-sha.outputs) }}'
shell:
bash
- name: Run changed-files with the pull request base sha and head sha
id: changed-files-pull-request-base-sha-head-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
base_sha: ${{ github.event.pull_request.base.sha }}
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-pull-request-base-sha-head-sha.outputs) }}'
shell:
bash
- name: Run changed-files with specific files (only-changed)
id: changed-files-specific-only-changed
uses: ./

View File

@@ -9,18 +9,18 @@ jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Run auto-doc
uses: tj-actions/auto-doc@v1.6.0
uses: tj-actions/auto-doc@v2
- name: Run test
- name: Run remark
uses: tj-actions/remark@v3
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v13
uses: tj-actions/verify-changed-files@v14
id: verify_changed_files
with:
files: |
@@ -34,7 +34,7 @@ jobs:
- name: Create Pull Request
if: failure()
uses: peter-evans/create-pull-request@v4.2.3
uses: peter-evans/create-pull-request@v4
with:
base: "main"
labels: "merge when passing"

View File

@@ -1,5 +1,487 @@
# Changelog
## [v35.7.2](https://github.com/tj-actions/changed-files/tree/v35.7.2) (2023-03-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35...v35.7.2)
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-03-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.7.1-sec...v35)
**Fixed bugs:**
- \[BUG\] all\_old\_new\_renamed\_files Gets all files renamed files from history [\#1030](https://github.com/tj-actions/changed-files/issues/1030)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Bump tj-actions/glob from 16.11 to 16.12 [\#1032](https://github.com/tj-actions/changed-files/pull/1032) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore: update README.md [\#1031](https://github.com/tj-actions/changed-files/pull/1031) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update peter-evans/create-pull-request action to v4.2.4 [\#1028](https://github.com/tj-actions/changed-files/pull/1028) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.7.1 [\#1027](https://github.com/tj-actions/changed-files/pull/1027) ([jackton1](https://github.com/jackton1))
## [v35.7.1-sec](https://github.com/tj-actions/changed-files/tree/v35.7.1-sec) (2023-03-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35-sec...v35.7.1-sec)
## [v35-sec](https://github.com/tj-actions/changed-files/tree/v35-sec) (2023-03-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.7.1...v35-sec)
## [v35.7.1](https://github.com/tj-actions/changed-files/tree/v35.7.1) (2023-03-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.7.0-sec...v35.7.1)
**Fixed bugs:**
- \[BUG\] Error in GitHub Action dependencies tj-actions/glob and tj-actions/json2file [\#1023](https://github.com/tj-actions/changed-files/issues/1023)
**Merged pull requests:**
- Updated README.md [\#1026](https://github.com/tj-actions/changed-files/pull/1026) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#1025](https://github.com/tj-actions/changed-files/pull/1025) ([jackton1](https://github.com/jackton1))
- fix: switch to git tag as opposed to full sha [\#1024](https://github.com/tj-actions/changed-files/pull/1024) ([jackton1](https://github.com/jackton1))
## [v35.7.0-sec](https://github.com/tj-actions/changed-files/tree/v35.7.0-sec) (2023-03-13)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.7.0...v35.7.0-sec)
**Implemented enhancements:**
- \[Feature\] Use Full SHA instead tag in nested actions calls [\#1019](https://github.com/tj-actions/changed-files/issues/1019)
**Merged pull requests:**
- Upgraded to v35.7.0 [\#1022](https://github.com/tj-actions/changed-files/pull/1022) ([jackton1](https://github.com/jackton1))
- chore\(docs\): Added example for saving the outputs to a file [\#1021](https://github.com/tj-actions/changed-files/pull/1021) ([jackton1](https://github.com/jackton1))
## [v35.7.0](https://github.com/tj-actions/changed-files/tree/v35.7.0) (2023-03-13)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.4...v35.7.0)
**Fixed bugs:**
- \[BUG\] v35 started failing while fetching remote refs [\#1014](https://github.com/tj-actions/changed-files/issues/1014)
**Merged pull requests:**
- pin: glob and json2file actions to the latest full length sha [\#1020](https://github.com/tj-actions/changed-files/pull/1020) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/release-tagger action to v3 [\#1018](https://github.com/tj-actions/changed-files/pull/1018) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update tj-actions/github-changelog-generator action to v1.18 [\#1017](https://github.com/tj-actions/changed-files/pull/1017) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.6.4 [\#1016](https://github.com/tj-actions/changed-files/pull/1016) ([jackton1](https://github.com/jackton1))
## [v35.6.4](https://github.com/tj-actions/changed-files/tree/v35.6.4) (2023-03-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.3...v35.6.4)
**Fixed bugs:**
- \[BUG\] Latest release causes specific sha to not be found [\#1010](https://github.com/tj-actions/changed-files/issues/1010)
**Closed issues:**
- Can we get the change files since last release [\#1013](https://github.com/tj-actions/changed-files/issues/1013)
**Merged pull requests:**
- fix: error fetching history for PR branches [\#1015](https://github.com/tj-actions/changed-files/pull/1015) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.6.3 [\#1012](https://github.com/tj-actions/changed-files/pull/1012) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/auto-doc action to v2 [\#1011](https://github.com/tj-actions/changed-files/pull/1011) ([renovate[bot]](https://github.com/apps/renovate))
## [v35.6.3](https://github.com/tj-actions/changed-files/tree/v35.6.3) (2023-03-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.2...v35.6.3)
**Merged pull requests:**
- chore: simplify fetch [\#1009](https://github.com/tj-actions/changed-files/pull/1009) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.6.2 [\#1008](https://github.com/tj-actions/changed-files/pull/1008) ([jackton1](https://github.com/jackton1))
## [v35.6.2](https://github.com/tj-actions/changed-files/tree/v35.6.2) (2023-03-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.1...v35.6.2)
**Implemented enhancements:**
- \[Feature\] Compare the Last Remote SHA and Head SHA of a Git Branch? [\#1006](https://github.com/tj-actions/changed-files/issues/1006)
**Merged pull requests:**
- fix: fetching history for pr made from a fork with checkout set to the target repository [\#1007](https://github.com/tj-actions/changed-files/pull/1007) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update codacy/codacy-analysis-cli-action action to v4.3.0 [\#1005](https://github.com/tj-actions/changed-files/pull/1005) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.6.1 [\#1004](https://github.com/tj-actions/changed-files/pull/1004) ([jackton1](https://github.com/jackton1))
## [v35.6.1](https://github.com/tj-actions/changed-files/tree/v35.6.1) (2023-02-28)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.0...v35.6.1)
**Implemented enhancements:**
- \[Feature\] Add support for listing deleted submodules [\#999](https://github.com/tj-actions/changed-files/issues/999)
**Merged pull requests:**
- feat: pull submodule history for pull request events [\#1003](https://github.com/tj-actions/changed-files/pull/1003) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.6.0 [\#1002](https://github.com/tj-actions/changed-files/pull/1002) ([jackton1](https://github.com/jackton1))
## [v35.6.0](https://github.com/tj-actions/changed-files/tree/v35.6.0) (2023-02-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.6...v35.6.0)
**Fixed bugs:**
- \[BUG\] Running on PR doesn't get the correct head sha [\#998](https://github.com/tj-actions/changed-files/issues/998)
- \[BUG\] action fails when with a Git tag instead of branch [\#995](https://github.com/tj-actions/changed-files/issues/995)
**Merged pull requests:**
- feat: add support for listing deleted submodules. [\#1001](https://github.com/tj-actions/changed-files/pull/1001) ([jackton1](https://github.com/jackton1))
- fix: readme typo [\#1000](https://github.com/tj-actions/changed-files/pull/1000) ([benhammondmusic](https://github.com/benhammondmusic))
- Upgraded to v35.5.6 [\#997](https://github.com/tj-actions/changed-files/pull/997) ([jackton1](https://github.com/jackton1))
## [v35.5.6](https://github.com/tj-actions/changed-files/tree/v35.5.6) (2023-02-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.5...v35.5.6)
**Implemented enhancements:**
- \[Feature\] Watch multiple paths [\#993](https://github.com/tj-actions/changed-files/issues/993)
**Merged pull requests:**
- fix: error fetch remote ref when using fetch depth of 1 [\#996](https://github.com/tj-actions/changed-files/pull/996) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update pascalgn/automerge-action action to v0.15.6 [\#994](https://github.com/tj-actions/changed-files/pull/994) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.5.5 [\#991](https://github.com/tj-actions/changed-files/pull/991) ([jackton1](https://github.com/jackton1))
## [v35.5.5](https://github.com/tj-actions/changed-files/tree/v35.5.5) (2023-02-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.4...v35.5.5)
**Fixed bugs:**
- \[BUG\] Changes are retrieved for everything since initial commit, instead of the current context like the GitHub UI [\#990](https://github.com/tj-actions/changed-files/issues/990)
- \[BUG\] "unknown revision" when using "path" [\#987](https://github.com/tj-actions/changed-files/issues/987)
- \[BUG\] Failing to retrieve master branch if depth isn't 0 [\#988](https://github.com/tj-actions/changed-files/issues/988)
**Merged pull requests:**
- fix: bug with fetching history [\#989](https://github.com/tj-actions/changed-files/pull/989) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.5.4 [\#986](https://github.com/tj-actions/changed-files/pull/986) ([jackton1](https://github.com/jackton1))
## [v35.5.4](https://github.com/tj-actions/changed-files/tree/v35.5.4) (2023-02-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.3...v35.5.4)
**Fixed bugs:**
- \[BUG\] action fail with pull request from external branch called master [\#979](https://github.com/tj-actions/changed-files/issues/979)
- \[BUG\] fatal: Invalid revision range X..Y when dealing with submodules [\#978](https://github.com/tj-actions/changed-files/issues/978)
**Closed issues:**
- Is it possible to get unstaged / modified files? [\#983](https://github.com/tj-actions/changed-files/issues/983)
**Merged pull requests:**
- Updated README.md [\#984](https://github.com/tj-actions/changed-files/pull/984) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.5.3 [\#982](https://github.com/tj-actions/changed-files/pull/982) ([jackton1](https://github.com/jackton1))
- fix: bug getting diff for submodules and fetching more history [\#980](https://github.com/tj-actions/changed-files/pull/980) ([jackton1](https://github.com/jackton1))
## [v35.5.3](https://github.com/tj-actions/changed-files/tree/v35.5.3) (2023-02-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.2...v35.5.3)
**Fixed bugs:**
- Action fails on empty repo or when the specific file pattern is not found [\#976](https://github.com/tj-actions/changed-files/issues/976)
**Merged pull requests:**
- fix: bug with pr from forks with similar branch names [\#981](https://github.com/tj-actions/changed-files/pull/981) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.5.2 [\#977](https://github.com/tj-actions/changed-files/pull/977) ([jackton1](https://github.com/jackton1))
## [v35.5.2](https://github.com/tj-actions/changed-files/tree/v35.5.2) (2023-02-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.1...v35.5.2)
**Fixed bugs:**
- \[BUG\] Unsynced target branch changes listed by action in pull requests [\#972](https://github.com/tj-actions/changed-files/issues/972)
**Merged pull requests:**
- chore: update use of tilde to use caret instead [\#975](https://github.com/tj-actions/changed-files/pull/975) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.5.1 [\#974](https://github.com/tj-actions/changed-files/pull/974) ([jackton1](https://github.com/jackton1))
## [v35.5.1](https://github.com/tj-actions/changed-files/tree/v35.5.1) (2023-02-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.0...v35.5.1)
**Fixed bugs:**
- \[BUG\] Action started failing [\#970](https://github.com/tj-actions/changed-files/issues/970)
**Merged pull requests:**
- fix: including non branch changes in diff output [\#973](https://github.com/tj-actions/changed-files/pull/973) ([jackton1](https://github.com/jackton1))
- chore: update readme [\#971](https://github.com/tj-actions/changed-files/pull/971) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.5.0 [\#969](https://github.com/tj-actions/changed-files/pull/969) ([jackton1](https://github.com/jackton1))
## [v35.5.0](https://github.com/tj-actions/changed-files/tree/v35.5.0) (2023-02-01)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.4...v35.5.0)
**Implemented enhancements:**
- \[Feature\] Exclude the top-level/root directory when dir\_names="true" [\#965](https://github.com/tj-actions/changed-files/issues/965)
- \[Feature\] Exclude Files [\#963](https://github.com/tj-actions/changed-files/issues/963)
- \[Feature\] Rename `files` -\> `paths` \[\#tara-label-enhancement\] \[\#tara-label-good first issue\] [\#125](https://github.com/tj-actions/changed-files/issues/125)
**Fixed bugs:**
- \[BUG\] PR between branch and main - unsynced changes appearing in changed files. [\#966](https://github.com/tj-actions/changed-files/issues/966)
- ::error::Failed to get current commit for submodule [\#962](https://github.com/tj-actions/changed-files/issues/962)
**Merged pull requests:**
- Updated README.md [\#968](https://github.com/tj-actions/changed-files/pull/968) ([jackton1](https://github.com/jackton1))
- feat: add support for excluding the top level directory [\#967](https://github.com/tj-actions/changed-files/pull/967) ([jackton1](https://github.com/jackton1))
- chore: update docs [\#964](https://github.com/tj-actions/changed-files/pull/964) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update reviewdog/action-shellcheck action to v1.17 [\#961](https://github.com/tj-actions/changed-files/pull/961) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.4.4 [\#960](https://github.com/tj-actions/changed-files/pull/960) ([jackton1](https://github.com/jackton1))
- chore: code clean up [\#959](https://github.com/tj-actions/changed-files/pull/959) ([jackton1](https://github.com/jackton1))
## [v35.4.4](https://github.com/tj-actions/changed-files/tree/v35.4.4) (2023-01-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.3...v35.4.4)
**Fixed bugs:**
- \[BUG\] Action is evaluating branch instead of sha [\#957](https://github.com/tj-actions/changed-files/issues/957)
- \[BUG\] Unable to run on windows self-hosted runner [\#956](https://github.com/tj-actions/changed-files/issues/956)
**Closed issues:**
- Comparing differences between tags/releases [\#949](https://github.com/tj-actions/changed-files/issues/949)
**Merged pull requests:**
- fix: revert change to pull pr branch via the branch name [\#958](https://github.com/tj-actions/changed-files/pull/958) ([jackton1](https://github.com/jackton1))
- feat: add guide for retrieving changed files for tags [\#955](https://github.com/tj-actions/changed-files/pull/955) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.4.3 [\#954](https://github.com/tj-actions/changed-files/pull/954) ([jackton1](https://github.com/jackton1))
## [v35.4.3](https://github.com/tj-actions/changed-files/tree/v35.4.3) (2023-01-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.2...v35.4.3)
**Fixed bugs:**
- \[BUG\] Files not found when not last commit on new branch [\#952](https://github.com/tj-actions/changed-files/issues/952)
- \[BUG\] `changed-files` error during run [\#875](https://github.com/tj-actions/changed-files/issues/875)
**Merged pull requests:**
- fix: handling since last remote commits for the first pr branch commit [\#953](https://github.com/tj-actions/changed-files/pull/953) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.4.2 [\#951](https://github.com/tj-actions/changed-files/pull/951) ([jackton1](https://github.com/jackton1))
## [v35.4.2](https://github.com/tj-actions/changed-files/tree/v35.4.2) (2023-01-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.1...v35.4.2)
**Fixed bugs:**
- \[BUG\] Unable find a diff between ... [\#944](https://github.com/tj-actions/changed-files/issues/944)
**Merged pull requests:**
- fix: handle case of invalid file patterns [\#950](https://github.com/tj-actions/changed-files/pull/950) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#948](https://github.com/tj-actions/changed-files/pull/948) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.4.1 [\#946](https://github.com/tj-actions/changed-files/pull/946) ([jackton1](https://github.com/jackton1))
## [v35.4.1](https://github.com/tj-actions/changed-files/tree/v35.4.1) (2023-01-11)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.0...v35.4.1)
**Implemented enhancements:**
- \[Feature\] Specify base branch, not just base-sha [\#941](https://github.com/tj-actions/changed-files/issues/941)
- \[Feature\] Get contents of deleted file [\#938](https://github.com/tj-actions/changed-files/issues/938)
**Merged pull requests:**
- fix: bug retrieving diff with custom a base sha [\#945](https://github.com/tj-actions/changed-files/pull/945) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#943](https://github.com/tj-actions/changed-files/pull/943) ([jackton1](https://github.com/jackton1))
- chore: make since\_last\_remote\_commit optional [\#942](https://github.com/tj-actions/changed-files/pull/942) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.4.0 [\#937](https://github.com/tj-actions/changed-files/pull/937) ([jackton1](https://github.com/jackton1))
## [v35.4.0](https://github.com/tj-actions/changed-files/tree/v35.4.0) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.2...v35.4.0)
**Implemented enhancements:**
- \[Feature\] Skip fetching remote refs for non shallow clones [\#924](https://github.com/tj-actions/changed-files/issues/924)
**Fixed bugs:**
- \[BUG\] v35.3.0 Fails to add \[\] around files when with:json: true [\#926](https://github.com/tj-actions/changed-files/issues/926)
**Merged pull requests:**
- Upgraded to v35.3.2 [\#936](https://github.com/tj-actions/changed-files/pull/936) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#935](https://github.com/tj-actions/changed-files/pull/935) ([jackton1](https://github.com/jackton1))
- feat: skip fetching remote refs for non shallow clones [\#934](https://github.com/tj-actions/changed-files/pull/934) ([jackton1](https://github.com/jackton1))
- fix: error overriding the base sha [\#933](https://github.com/tj-actions/changed-files/pull/933) ([jackton1](https://github.com/jackton1))
- docs: add cfernhout as a contributor for doc [\#932](https://github.com/tj-actions/changed-files/pull/932) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Make example consistent and out of the box usable [\#931](https://github.com/tj-actions/changed-files/pull/931) ([cfernhout](https://github.com/cfernhout))
## [v35.3.2](https://github.com/tj-actions/changed-files/tree/v35.3.2) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.1...v35.3.2)
**Merged pull requests:**
- fix\(regression\): invalid json output. [\#930](https://github.com/tj-actions/changed-files/pull/930) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update actions/checkout action to v3.3.0 [\#929](https://github.com/tj-actions/changed-files/pull/929) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.3.1 [\#928](https://github.com/tj-actions/changed-files/pull/928) ([jackton1](https://github.com/jackton1))
## [v35.3.1](https://github.com/tj-actions/changed-files/tree/v35.3.1) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.0...v35.3.1)
**Fixed bugs:**
- \[BUG\] `files_ignore` used with `files` not ignoring as expected [\#901](https://github.com/tj-actions/changed-files/issues/901)
**Merged pull requests:**
- fix: json output [\#927](https://github.com/tj-actions/changed-files/pull/927) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.3.0 [\#925](https://github.com/tj-actions/changed-files/pull/925) ([jackton1](https://github.com/jackton1))
## [v35.3.0](https://github.com/tj-actions/changed-files/tree/v35.3.0) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.2.1...v35.3.0)
**Merged pull requests:**
- fix: bug dirnames output [\#923](https://github.com/tj-actions/changed-files/pull/923) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/auto-doc action to v1.7.3 [\#922](https://github.com/tj-actions/changed-files/pull/922) ([renovate[bot]](https://github.com/apps/renovate))
- Updated README.md [\#921](https://github.com/tj-actions/changed-files/pull/921) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#920](https://github.com/tj-actions/changed-files/pull/920) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.2.1 [\#919](https://github.com/tj-actions/changed-files/pull/919) ([jackton1](https://github.com/jackton1))
## [v35.2.1](https://github.com/tj-actions/changed-files/tree/v35.2.1) (2023-01-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.2.0...v35.2.1)
**Fixed bugs:**
- \[BUG\] On pull\_request\_review error [\#906](https://github.com/tj-actions/changed-files/issues/906)
**Merged pull requests:**
- Updated README.md [\#918](https://github.com/tj-actions/changed-files/pull/918) ([jackton1](https://github.com/jackton1))
- Bump tj-actions/auto-doc from 1.7.1 to 1.7.2 [\#917](https://github.com/tj-actions/changed-files/pull/917) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore: update readme [\#916](https://github.com/tj-actions/changed-files/pull/916) ([jackton1](https://github.com/jackton1))
- fix: bug running on pull\_request\_review [\#915](https://github.com/tj-actions/changed-files/pull/915) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#914](https://github.com/tj-actions/changed-files/pull/914) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/auto-doc action to v1.7.2 [\#913](https://github.com/tj-actions/changed-files/pull/913) ([renovate[bot]](https://github.com/apps/renovate))
- Updated README.md [\#912](https://github.com/tj-actions/changed-files/pull/912) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/auto-doc action to v1.7.1 [\#911](https://github.com/tj-actions/changed-files/pull/911) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.2.0 [\#910](https://github.com/tj-actions/changed-files/pull/910) ([jackton1](https://github.com/jackton1))
## [v35.2.0](https://github.com/tj-actions/changed-files/tree/v35.2.0) (2022-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.1.2...v35.2.0)
**Merged pull requests:**
- chore: update the test [\#909](https://github.com/tj-actions/changed-files/pull/909) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#908](https://github.com/tj-actions/changed-files/pull/908) ([jackton1](https://github.com/jackton1))
- docs: add adonisgarciac as a contributor for code, and doc [\#907](https://github.com/tj-actions/changed-files/pull/907) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Upgraded to v35.1.2 [\#905](https://github.com/tj-actions/changed-files/pull/905) ([jackton1](https://github.com/jackton1))
- add raw-output option for json output [\#900](https://github.com/tj-actions/changed-files/pull/900) ([adonisgarciac](https://github.com/adonisgarciac))
## [v35.1.2](https://github.com/tj-actions/changed-files/tree/v35.1.2) (2022-12-29)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.1.1...v35.1.2)
**Merged pull requests:**
- Updated README.md [\#904](https://github.com/tj-actions/changed-files/pull/904) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#903](https://github.com/tj-actions/changed-files/pull/903) ([jackton1](https://github.com/jackton1))
- feat: add support for excluding matched directories [\#902](https://github.com/tj-actions/changed-files/pull/902) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/github-changelog-generator action to v1.17 [\#899](https://github.com/tj-actions/changed-files/pull/899) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v35.1.1 [\#898](https://github.com/tj-actions/changed-files/pull/898) ([jackton1](https://github.com/jackton1))
## [v35.1.1](https://github.com/tj-actions/changed-files/tree/v35.1.1) (2022-12-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.1.0...v35.1.1)
**Implemented enhancements:**
- \[Feature\] Output which file changed from files input [\#895](https://github.com/tj-actions/changed-files/issues/895)
**Fixed bugs:**
- pipeline failed in tj-action [\#894](https://github.com/tj-actions/changed-files/issues/894)
**Merged pull requests:**
- Updated README.md [\#897](https://github.com/tj-actions/changed-files/pull/897) ([jackton1](https://github.com/jackton1))
- chore: update the default sha [\#896](https://github.com/tj-actions/changed-files/pull/896) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.1.0 [\#892](https://github.com/tj-actions/changed-files/pull/892) ([jackton1](https://github.com/jackton1))
## [v35.1.0](https://github.com/tj-actions/changed-files/tree/v35.1.0) (2022-12-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.0.1...v35.1.0)
**Implemented enhancements:**
- \[Feature\] Output changes to json files in filesystem for processing [\#688](https://github.com/tj-actions/changed-files/issues/688)
**Merged pull requests:**
- Updated README.md [\#891](https://github.com/tj-actions/changed-files/pull/891) ([jackton1](https://github.com/jackton1))
- feat: add support for writing outputs to files [\#890](https://github.com/tj-actions/changed-files/pull/890) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.0.1 [\#889](https://github.com/tj-actions/changed-files/pull/889) ([jackton1](https://github.com/jackton1))
## [v35.0.1](https://github.com/tj-actions/changed-files/tree/v35.0.1) (2022-12-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.0.0...v35.0.1)
**Implemented enhancements:**
- Changed lines of modified files [\#858](https://github.com/tj-actions/changed-files/issues/858)
**Merged pull requests:**
- chore: update test [\#888](https://github.com/tj-actions/changed-files/pull/888) ([jackton1](https://github.com/jackton1))
- chore: code cleanup [\#887](https://github.com/tj-actions/changed-files/pull/887) ([jackton1](https://github.com/jackton1))
- Upgraded to v35 [\#886](https://github.com/tj-actions/changed-files/pull/886) ([jackton1](https://github.com/jackton1))
## [v35.0.0](https://github.com/tj-actions/changed-files/tree/v35.0.0) (2022-12-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.2...v35.0.0)
**Fixed bugs:**
- \[BUG\] Process completed with exit code 1 [\#884](https://github.com/tj-actions/changed-files/issues/884)
**Closed issues:**
- How to see the changed files after the PR is merged ? [\#874](https://github.com/tj-actions/changed-files/issues/874)
**Merged pull requests:**
- Updated README.md [\#885](https://github.com/tj-actions/changed-files/pull/885) ([jackton1](https://github.com/jackton1))
- fix: error retrieving changed files [\#882](https://github.com/tj-actions/changed-files/pull/882) ([jackton1](https://github.com/jackton1))
- fix: fail when the merge base is not found [\#879](https://github.com/tj-actions/changed-files/pull/879) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.6.2 [\#878](https://github.com/tj-actions/changed-files/pull/878) ([jackton1](https://github.com/jackton1))
## [v34.6.2](https://github.com/tj-actions/changed-files/tree/v34.6.2) (2022-12-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.6.2)
@@ -12,10 +494,6 @@
- \[BUG\] github actions has depreciated and will remove a feature used in this action 'set-output' see link [\#865](https://github.com/tj-actions/changed-files/issues/865)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- fix: bug using since\_last\_remote\_commit with force push [\#877](https://github.com/tj-actions/changed-files/pull/877) ([jackton1](https://github.com/jackton1))
@@ -429,7 +907,7 @@
## [v34.0.0](https://github.com/tj-actions/changed-files/tree/v34.0.0) (2022-10-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v34.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v34.0.0)
**Fixed bugs:**
@@ -442,13 +920,13 @@
- feat: add support for fetching more history [\#709](https://github.com/tj-actions/changed-files/pull/709) ([jackton1](https://github.com/jackton1))
- Upgraded to v33.0.0 [\#707](https://github.com/tj-actions/changed-files/pull/707) ([jackton1](https://github.com/jackton1))
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v33.0.0)
## [v33](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v33)
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33.0.0)
**Closed issues:**
@@ -535,7 +1013,7 @@
- Updated README.md [\#674](https://github.com/tj-actions/changed-files/pull/674) ([jackton1](https://github.com/jackton1))
- add kostiantyn-korniienko-aurea as a contributor for doc [\#673](https://github.com/tj-actions/changed-files/pull/673) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- TYPO fix [\#671](https://github.com/tj-actions/changed-files/pull/671) ([kostiantyn-korniienko-aurea](https://github.com/kostiantyn-korniienko-aurea))
- TYPO fix [\#671](https://github.com/tj-actions/changed-files/pull/671) ([kostiantyn-korniienko](https://github.com/kostiantyn-korniienko))
- chore\(deps\): update tj-actions/glob action to v14 [\#670](https://github.com/tj-actions/changed-files/pull/670) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update actions/checkout action to v3.1.0 [\#669](https://github.com/tj-actions/changed-files/pull/669) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v31.0.3 [\#667](https://github.com/tj-actions/changed-files/pull/667) ([jackton1](https://github.com/jackton1))

351
README.md
View File

@@ -1,32 +1,49 @@
[![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\&logo=ubuntu\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Mac OS](https://img.shields.io/badge/mac%20os-000000?style=for-the-badge\&logo=macos\&logoColor=F0F0F0)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\&logo=windows\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Public workflows that use this action.](https://img.shields.io/endpoint?style=for-the-badge\&url=https%3A%2F%2Fused-by.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue)](https://github.com/search?o=desc\&q=tj-actions+changed-files+language%3AYAML\&s=\&type=Code)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/4a625e9b62794b5b98e169c15c0e673c)](https://www.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=github.com\&utm_medium=referral\&utm_content=tj-actions/changed-files\&utm_campaign=Badge_Grade)
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml)
[![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml)
[![Public workflows that use this action.](https://img.shields.io/endpoint?url=https%3A%2F%2Fused-by.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue)](https://github.com/search?o=desc\&q=tj-actions+changed-files+language%3AYAML\&s=\&type=Code)
[![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?logo=ubuntu\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Mac OS](https://img.shields.io/badge/mac%20os-000000?logo=macos\&logoColor=F0F0F0)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-19-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
## changed-files
Retrieve all changed files and directories relative to the target branch or the last remote commit returning the **absolute paths** from the project root.
Retrieve all changed files and directories relative to a target branch, preceeding commit or the last remote commit returning a **relative paths** from the project root.
## Table of contents
* [Features](#features)
* [Usage](#usage)
* [Useful Acronyms](#useful-acronyms)
* [Outputs](#outputs)
* [Inputs](#inputs)
* [Versioning](#versioning)
* [Examples](#examples)
* [Real world example](#real-world-example)
* [Known Limitation](#known-limitation)
* [Migration guide](#migration-guide)
* [Credits](#credits)
* [Report Bugs](#report-bugs)
* [Contributors ✨](#contributors-)
## Features
* Fast execution (0-2 seconds on average).
* Fast execution (0-10 seconds on average).
* Easy to debug.
* Scales to large repositories.
* Git submodules support.
* Escaped JSON Output which can be used for running matrix jobs based on changed files.
* Optionally list only changed directories.
* Supports Git submodules.
* Escaped JSON output which can be used to run matrix jobs based on changed files.
* List changed directories.
* Restrict the max depth of changed directories.
* Monorepos (Fetches only the last remote commit).
* Write outputs to a `.txt` or `.json` file at a specified location for further processing.
* Monorepos (Fetches a fixed number of commits).
* Supports all platforms (Linux, MacOS, Windows).
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support
* [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@3.3/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server) support.
@@ -38,6 +55,7 @@ Retrieve all changed files and directories relative to the target branch or the
* Restrict change detection to a subset of files and directories:
* Boolean output indicating that certain files have been changed.
* Using [Glob pattern](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) matching.
* Brace expansion.
## Usage
@@ -45,24 +63,24 @@ Retrieve all changed files and directories relative to the target branch or the
>
> * **IMPORTANT:** For `push` events you need to include `fetch-depth: 0` **OR** `fetch-depth: 2` depending on your use case.
> * For monorepos where pulling all the branch history might not be desired, you can omit `fetch-depth` for `pull_request` events.
> * For files located in a sub-directory ensure that the pattern specified contains `**/` (globstar) to match any preceding directories or explicitly pass the full path relative to the project root. See: [#314](https://github.com/tj-actions/changed-files/issues/314).
> * All multiline inputs should not use double or single qoutes since the value is already a string seperated by a newline character. See [Examples](#examples) for more information.
> * For files located in a sub-directory ensure that the pattern specified contains `**/` (globstar) to match any preceding directories or explicitly pass the full path relative to the project root. See: [Pattern Gotcha](https://github.com/tj-actions/glob#pattern-gotcha).
> * All multiline inputs should not use double or single quotes since the value is already a string seperated by a newline character. See [Examples](#examples) for more information.
> * Ensure that `persist-credentials` is set to `true` when configuring `actions/checkout` if `fetch-depth` isn't set to `0`.
```yaml
name: CI
on:
# Compare the preceeding commit of main -> to the current commit of the main branch.
# (Note: To compare changes between the last pushed commit to the remote main branch set `since_last_remote_commit: true`)
push:
branches:
- main
# Compare the last commit of main -> to the current commit of a PR branch.
# (Note: To compare changes between the last pushed commit to the remote PR branch set `since_last_remote_commit: true`)
pull_request:
branches:
- main
# -------------------------------------------------------------------------------------------------------------------------
# Event `push`: Compare the preceeding commit -> to the current commit of the main branch.
# Event `pull_request`: Compare the last commit of main -> to the current commit of a Pull Request branch.
# -------------------------------------------------------------------------------------------------------------------------
jobs:
build:
@@ -76,7 +94,11 @@ jobs:
# Example 1
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
# To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g
# with:
# since_last_remote_commit: true
- name: List all changed files
run: |
@@ -87,19 +109,32 @@ jobs:
# Example 2
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files: |
docs/**
files: docs/*.{js,html} # Alternatively using: `docs/**` or `docs`
- name: Run step if any file(s) in the docs folder change
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: |
echo "One or more files in the docs folder has changed."
echo "List all the files that have changed: ${{ steps.changed-files-specific.outputs.all_changed_files }}"
```
# Example 3
- name: Get all changed *.js file(s) or any file in the static folder excluding the docs folder
id: changed-files-excluded
uses: tj-actions/changed-files@v35
with:
files: |
**/*.js
static
files_ignore: docs
I want to thank everyone supporting and using this project, your are awesome. Special thanks to every contributor.
- name: Run step if any *.js file(s) or any file in the static folder change
if: steps.changed-files-excluded.outputs.any_changed == 'true'
run: |
echo "One or more *.js file(s) or any file in the static folder but not in the doc folder has changed."
echo "List all the files that have changed: ${{ steps.changed-files-excluded.outputs.all_changed_files }}"
```
If you feel generous and want to show some extra appreciation:
@@ -128,29 +163,29 @@ Support this project with a :star:
<!-- AUTO-DOC-OUTPUT:START - Do not remove or modify this section -->
| OUTPUT | TYPE | DESCRIPTION |
|--------------------------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| added\_files | string | Returns only files that are Added (A).<br> |
| all\_changed\_and\_modified\_files | string | Returns all changed and modified files i.e.<br>*a combination of (ACMRDTUX)* |
| all\_changed\_files | string | Returns all changed files i.e. *a combination<br>of all added, copied, modified and renamed<br>files (ACMR)* |
| all\_modified\_files | string | Returns all changed files i.e. *a combination<br>of all added, copied, modified, renamed and<br>deleted files (ACMRD)*. |
| all\_old\_new\_renamed\_files | string | Returns only files that are Renamed and<br>list their old and new names. **NOTE:**<br>This requires setting `include_all_old_new_renamed_files` to `true` (R)<br> |
| any\_changed | string | Returns `true` when any of the filenames<br>provided using the `files` input has changed.<br>If no `files` have been specified,an empty<br>string `''` is returned. i.e. *using a<br>combination of all added, copied, modified and<br>renamed files (ACMR)*. |
| any\_deleted | string | Returns `true` when any of the filenames<br>provided using the `files` input has been<br>deleted. If no `files` have been specified,an<br>empty string `''` is returned. (D) |
| any\_modified | string | Returns `true` when any of the filenames<br>provided using the `files` input has been<br>modified. If no `files` have been specified,an<br>empty string `''` is returned. i.e. *using<br>a combination of all added, copied, modified,<br>renamed, and deleted files (ACMRD)*. |
| copied\_files | string | Returns only files that are Copied (C).<br> |
| deleted\_files | string | Returns only files that are Deleted (D).<br> |
| modified\_files | string | Returns only files that are Modified (M).<br> |
| only\_changed | string | Returns `true` when only files provided using<br>the `files` input has changed. If no<br>`files` have been specified,an empty string `''`<br>is returned. i.e. *using a combination of<br>all added, copied, modified and renamed files<br>(ACMR)*. |
| only\_deleted | string | Returns `true` when only files provided using<br>the `files` input has been deleted. If<br>no `files` have been specified,an empty string<br>`''` is returned. (D) |
| only\_modified | string | Returns `true` when only files provided using<br>the `files` input has been modified. If<br>no `files` have been specified,an empty string<br>`''` is returned.(ACMRD). |
| other\_changed\_files | string | Returns all other changed files not listed<br>in the files input i.e. *using a<br>combination of all added, copied, modified and<br>renamed files (ACMR)*. |
| other\_deleted\_files | string | Returns all other deleted files not listed<br>in the files input i.e. *a combination<br>of all deleted files (D)* |
| other\_modified\_files | string | Returns all other modified files not listed<br>in the files input i.e. *a combination<br>of all added, copied, modified, and deleted<br>files (ACMRD)* |
| renamed\_files | string | Returns only files that are Renamed (R).<br> |
| type\_changed\_files | string | Returns only files that have their file<br>type changed (T). |
| unknown\_files | string | Returns only files that are Unknown (X).<br> |
| unmerged\_files | string | Returns only files that are Unmerged (U).<br> |
| OUTPUT | TYPE | DESCRIPTION |
|--------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| added\_files | string | Returns only files that are Added<br>(A). |
| all\_changed\_and\_modified\_files | string | Returns all changed and modified files<br>i.e. *a combination of (ACMRDTUX)* |
| all\_changed\_files | string | Returns all changed files i.e. *a<br> combination of all added, copied, modified<br>and renamed files (ACMR)* |
| all\_modified\_files | string | Returns all changed files i.e. *a<br> combination of all added, copied, modified,<br>renamed and deleted files (ACMRD)*. |
| all\_old\_new\_renamed\_files | string | Returns only files that are Renamed<br> and list their old and new<br> names. **NOTE:** This requires setting `include_all_old_new_renamed_files`<br>to `true` (R) |
| any\_changed | string | Returns `true` when any of the<br> filenames provided using the `files` input<br> has changed. If no `files` have<br> been specified,an empty string `''` is<br> returned. i.e. *using a combination of<br> all added, copied, modified and renamed<br>files (ACMR)*. |
| any\_deleted | string | Returns `true` when any of the<br> filenames provided using the `files` input<br> has been deleted. If no `files`<br> have been specified,an empty string `''`<br>is returned. (D) |
| any\_modified | string | Returns `true` when any of the<br> filenames provided using the `files` input<br> has been modified. If no `files`<br> have been specified,an empty string `''`<br> is returned. i.e. *using a combination<br> of all added, copied, modified, renamed,<br>and deleted files (ACMRD)*. |
| copied\_files | string | Returns only files that are Copied<br>(C). |
| deleted\_files | string | Returns only files that are Deleted<br>(D). |
| modified\_files | string | Returns only files that are Modified<br>(M). |
| only\_changed | string | Returns `true` when only files provided<br> using the `files` input has changed.<br> If no `files` have been specified,an<br> empty string `''` is returned. i.e.<br> *using a combination of all added,<br>copied, modified and renamed files (ACMR)*. |
| only\_deleted | string | Returns `true` when only files provided<br> using the `files` input has been<br> deleted. If no `files` have been<br> specified,an empty string `''` is returned.<br>(D) |
| only\_modified | string | Returns `true` when only files provided<br> using the `files` input has been<br> modified. If no `files` have been<br>specified,an empty string `''` is returned.(ACMRD). |
| other\_changed\_files | string | Returns all other changed files not<br> listed in the files input i.e.<br> *using a combination of all added,<br>copied, modified and renamed files (ACMR)*. |
| other\_deleted\_files | string | Returns all other deleted files not<br> listed in the files input i.e.<br> *a combination of all deleted files<br>(D)* |
| other\_modified\_files | string | Returns all other modified files not<br> listed in the files input i.e.<br> *a combination of all added, copied,<br>modified, and deleted files (ACMRD)* |
| renamed\_files | string | Returns only files that are Renamed<br>(R). |
| type\_changed\_files | string | Returns only files that have their<br>file type changed (T). |
| unknown\_files | string | Returns only files that are Unknown<br>(X). |
| unmerged\_files | string | Returns only files that are Unmerged<br>(U). |
<!-- AUTO-DOC-OUTPUT:END -->
@@ -158,33 +193,56 @@ Support this project with a :star:
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit SHA used<br>for comparing changes |
| diff\_relative | string | false | | Exclude changes outside the current directory and<br>show path names relative to it. **NOTE:**<br>This requires you to specify the top<br>level directory via the `path` input. |
| dir\_names | string | false | `"false"` | Output unique changed directories instead of filenames.<br>**NOTE:** This returns `.` for changed files<br>located in the root of the project.<br> |
| dir\_names\_max\_depth | string | false | | Maximum depth of directories to output. e.g<br>`test/test1/test2` with max depth of `2` returns<br>`test/test1`. |
| fetch\_depth | string | false | `"50"` | Depth of additional branch history fetched. **NOTE**:<br>This can be adjusted to resolve errors<br>with insufficient history. |
| files | string | false | | File and directory patterns to detect changes<br>using only these list of file(s) (Defaults<br>to the entire repo) **NOTE:** Multiline file/directory<br>patterns should not include quotes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate the `files`<br>input. |
| files\_ignore | string | false | | Ignore changes to these file(s) **NOTE:** Multiline<br>file/directory patterns should not include quotes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate the `files_ignore`<br>input |
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the `files_ignore` input<br> |
| files\_separator | string | false | `"\n"` | Separator used to split the `files` input<br> |
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this can generate<br>a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| json | string | false | `"false"` | Output list of changed files in a<br>JSON formatted string which can be used<br>for matrix jobs. |
| old\_new\_files\_separator | string | false | `" "` | Split character for old and new renamed<br>filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and new filename<br>pairs. |
| path | string | false | `"."` | Specify a relative path under `$GITHUB_WORKSPACE` to<br>locate the repository. |
| quotepath | string | false | `"true"` | Use non ascii characters to match files<br>and output the filenames completely verbatim by<br>setting this to `false` |
| separator | string | false | `" "` | Split character for output strings |
| sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA used for<br>comparing changes |
| since | string | false | | Get changed files for commits whose timestamp<br>is older than the given time. |
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on the remote<br>branch as the `base_sha`. Defaults to the<br>last non merge commit on the target<br>branch for pull request events and the<br>previous remote commit of the current branch<br>for push events. |
| until | string | false | | Get changed files for commits whose timestamp<br>is earlier than the given time. |
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit SHA<br>used for comparing changes |
| diff\_relative | string | false | | Exclude changes outside the current directory<br> and show path names relative to<br> it. **NOTE:** This requires you to<br> specify the top level directory via<br>the `path` input. |
| dir\_names | string | false | `"false"` | Output unique changed directories instead of<br> filenames. **NOTE:** This returns `.` for<br> changed files located in the root<br>of the project. |
| dir\_names\_exclude\_root | string | false | `"false"` | Exclude the root directory represented by<br> `.` from the output when `dir_names`is<br>set to `true`. |
| dir\_names\_max\_depth | string | false | | Maximum depth of directories to output.<br> e.g `test/test1/test2` with max depth of<br>`2` returns `test/test1`. |
| fetch\_depth | string | false | `"50"` | Depth of additional branch history fetched.<br> **NOTE**: This can be adjusted to<br>resolve errors with insufficient history. |
| files | string | false | | File and directory patterns to detect<br> changes using only these list of<br> file(s) (Defaults to the entire repo)<br> **NOTE:** Multiline file/directory patterns should not<br>include quotes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate the<br>`files` input. |
| files\_ignore | string | false | | Ignore changes to these file(s) **NOTE:**<br> Multiline file/directory patterns should not include<br>quotes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate the<br>`files_ignore` input |
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the `files_ignore`<br>input |
| files\_separator | string | false | `"\n"` | Separator used to split the `files`<br>input |
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this can<br>generate a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| json | string | false | `"false"` | Output list of changed files in<br> a JSON formatted string which can<br>be used for matrix jobs. |
| json\_raw\_format | string | false | `"false"` | Output list of changed files in<br> [jq](https://devdocs.io/jq/) raw output format which means that the output will not be<br> surrounded by quotes and special characters<br>will not be escaped. |
| match\_directories | string | false | `"true"` | Indicates whether to include match directories |
| old\_new\_files\_separator | string | false | `" "` | Split character for old and new<br>renamed filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and new<br>filename pairs. |
| output\_dir | string | false | `".github/outputs"` | Directory to store output files. |
| path | string | false | `"."` | Specify a relative path under `$GITHUB_WORKSPACE`<br>to locate the repository. |
| quotepath | string | false | `"true"` | Use non ascii characters to match<br> files and output the filenames completely<br>verbatim by setting this to `false` |
| separator | string | false | `" "` | Split character for output strings |
| sha | string | false | | Specify a different commit SHA used<br>for comparing changes |
| since | string | false | | Get changed files for commits whose<br> timestamp is older than the given<br>time. |
| since\_last\_remote\_commit | string | false | `"false"` | Use the last commit on the<br> remote branch as the `base_sha`. Defaults<br> to the last non merge commit<br> on the target branch for pull<br> request events and the previous remote<br> commit of the current branch for<br>push events. |
| until | string | false | | Get changed files for commits whose<br> timestamp is earlier than the given<br>time. |
| write\_output\_files | string | false | `"false"` | Write outputs to files in the<br>`.github/outputs` folder by default. |
<!-- AUTO-DOC-INPUT:END -->
## Versioning
This GitHub Action follows the principles of [Semantic Versioning](https://semver.org) for versioning releases.
In addition to the standard versioning scheme, this action also uses the `v[major.minor.patch]-sec` convention for versions that implement hardening security strategies as described in the [GitHub Actions security hardening guide](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions).
The format of the version string is as follows:
major: is a major release number that indicates significant changes or new features that may not be backward compatible.
minor: is a minor release number that indicates minor changes or new features that are backward compatible.
patch : is a patch release number that indicates bug fixes or other small changes that are backward compatible.
`-sec` is a suffix that indicates a security-hardened version that implements additional security measures.
For example, `v1.2.3-sec` would indicate a security-hardened version of the action with major version 1, minor version 2, and patch version 3.
Using this versioning convention helps ensure that users can easily identify and choose security-hardened versions of this action when integrating it into their workflows.
## Examples
<details>
@@ -194,7 +252,7 @@ Support this project with a :star:
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
...
```
@@ -207,7 +265,7 @@ Support this project with a :star:
...
- name: Get all changed files and use a comma separator in the output
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
separator: ","
...
@@ -224,8 +282,8 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
- name: List all added files
run: |
for file in ${{ steps.changed-files.outputs.added_files }}; do
@@ -245,7 +303,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
- name: Run a step if my-file.txt was modified
if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt')
@@ -258,6 +316,51 @@ See [outputs](#outputs) for a list of all available outputs.
</details>
<details>
<summary>Get all changed files and write the outputs to a json file</summary>
```yaml
...
- name: Get changed files and write the outputs to a json file
id: changed-files-write-output-files-json
uses: ./
with:
json: true
write_output_files: true
- name: Verify the contents of the .github/added_files.json file
run: |
cat .github/added_files.json
...
```
See [action.yml](action.yml#L264) for a list of all available keys.
</details>
<details>
<summary>Get all changed files and write the outputs to a txt file</summary>
```yaml
...
- name: Get changed files and write the outputs to a txt file
id: changed-files-write-output-files-txt
uses: ./
with:
write_output_files: true
- name: Verify the contents of the .github/added_files.txt file
run: |
cat .github/added_files.txt
...
```
See [action.yml](action.yml#L264) for a list of all available keys.
</details>
<details>
<summary>Get all changed files using a list of files</summary>
@@ -265,7 +368,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files: |
my-file.txt
@@ -282,13 +385,13 @@ See [inputs](#inputs) for more information.
</details>
<details>
<summary>Get all changed files using a list of files and take action base on the changes</summary>
<summary>Get all changed files using a list of files and take action based on the changes</summary>
```yaml
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
id: changed-files-specific
uses: tj-actions/changed-files@v35
with:
files: |
my-file.txt
@@ -309,16 +412,16 @@ See [inputs](#inputs) for more information.
echo "Only files listed above have changed."
- name: Run step if any of the listed files above is deleted
if: steps.changed-files.outputs.any_deleted == 'true'
if: steps.changed-files-specific.outputs.any_deleted == 'true'
run: |
for file in ${{ steps.changed-files.outputs.deleted_files }}; do
for file in ${{ steps.changed-files-specific.outputs.deleted_files }}; do
echo "$file was deleted"
done
- name: Run step if all listed files above have been deleted
if: steps.changed-files.outputs.only_deleted == 'true'
if: steps.changed-files-specific.outputs.only_deleted == 'true'
run: |
for file in ${{ steps.changed-files.outputs.deleted_files }}; do
for file in ${{ steps.changed-files-specific.outputs.deleted_files }}; do
echo "$file was deleted"
done
...
@@ -335,7 +438,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files using a source file or list of file(s) to populate to files input.
id: changed-files-specific-source-file
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files_from_source_file: test/changed-files-list.txt
...
@@ -352,7 +455,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a source file or list of file(s) to populate to files input and optionally specify more files.
id: changed-files-specific-source-file-and-specify-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -373,7 +476,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a different SHA
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
sha: ${{ github.event.pull_request.head.sha }}
...
@@ -390,7 +493,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a different base SHA
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ github.event.pull_request.base.sha }}
...
@@ -400,6 +503,49 @@ See [inputs](#inputs) for more information.
</details>
<details>
<summary>Get all changed files between the previous tag and the current tag</summary>
```yaml
...
on:
push:
tags:
- 'v*'
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v35
- name: Get changed files in the .github folder
id: changed-files-specific
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ steps.get-base-sha.outputs.base_sha }}
files: .github/**
- name: Run step if any file(s) in the .github folder change
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: |
echo "One or more files in the .github folder has changed."
echo "List all the files that have changed: ${{ steps.changed-files-specific.outputs.all_changed_files }}"
...
```
See [inputs](#inputs) for more information.
</details>
<details>
<summary>Get all changed files for a repository located in a different path</summary>
@@ -413,7 +559,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with defaults in dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
path: dir1
@@ -436,7 +582,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
quotepath: "false"
@@ -470,12 +616,12 @@ See [inputs](#inputs) for more information.
- uses: nrwl/nx-set-shas@v3
id: last_successful_commit_push
with:
main-branch-name: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
main-branch-name: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
workflow-id: 'test.yml'
- name: Run changed-files with the commit of the last successful test workflow run
id: changed-files-base-sha-push
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
...
@@ -497,12 +643,12 @@ See [inputs](#inputs) for more information.
- uses: nrwl/nx-set-shas@v3
id: last_successful_commit_pull_request
with:
main-branch-name: ${{ steps.branch-name.outputs.base_ref_branch }} # Get the last successful commit on master or main branch
main-branch-name: ${{ steps.branch-name.outputs.base_ref_branch }} # Get the last successful commit on master or main branch
workflow_id: 'test.yml'
- name: Run changed-files with the commit of the last successful test workflow run on main
id: changed-files-base-sha-pull-request
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
...
@@ -526,7 +672,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with dir_names
id: changed-files-dir-names
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
dir_names: "true"
...
@@ -543,7 +689,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with json output
id: changed-files-json
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
json: "true"
...
@@ -560,13 +706,13 @@ See [inputs](#inputs) for more information.
...
- name: Get changed-files since 2022-08-19
id: changed-files-since
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
since: "2022-08-19"
- name: Get changed-files until 2022-08-20
id: changed-files-until
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
until: "2022-08-20"
...
@@ -580,8 +726,6 @@ See [inputs](#inputs) for more information.
<img width="1147" alt="Screen Shot 2021-11-19 at 4 59 21 PM" src="https://user-images.githubusercontent.com/17484350/142696936-8b7ca955-7ef9-4d53-9bdf-3e0008e90c3f.png">
* Free software: [MIT license](LICENSE)
## Known Limitation
> NOTE: :warning:
@@ -589,6 +733,7 @@ See [inputs](#inputs) for more information.
> * Using characters like `\n`, `%`, `.` and `\r` as separators would be [URL encoded](https://www.w3schools.com/tags/ref_urlencode.asp)
> * Spaces in file names can introduce bugs when using bash loops. See: [#216](https://github.com/tj-actions/changed-files/issues/216)
> However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
>
> ![Screen Shot 2021-10-23 at 9 37 34 AM](https://user-images.githubusercontent.com/17484350/138558767-b13c90bf-a1ae-4e86-9520-70a6a4624f41.png)
## Migration guide
@@ -627,6 +772,8 @@ With the switch from using grep's Extended regex to match files to the natively
custom/**
```
* Free software: [MIT license](LICENSE)
## Credits
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
@@ -683,6 +830,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center"><a href="https://github.com/kostiantyn-korniienko-aurea"><img src="https://avatars.githubusercontent.com/u/37180625?v=4?s=100" width="100px;" alt="Kostiantyn Korniienko"/><br /><sub><b>Kostiantyn Korniienko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=kostiantyn-korniienko-aurea" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/lpulley"><img src="https://avatars.githubusercontent.com/u/7193187?v=4?s=100" width="100px;" alt="Logan Pulley"/><br /><sub><b>Logan Pulley</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=lpulley" title="Code">💻</a></td>
<td align="center"><a href="https://www.linkedin.com/in/kenji-miyake/"><img src="https://avatars.githubusercontent.com/u/31987104?v=4?s=100" width="100px;" alt="Kenji Miyake"/><br /><sub><b>Kenji Miyake</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=kenji-miyake" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/adonisgarciac"><img src="https://avatars.githubusercontent.com/u/71078987?v=4?s=100" width="100px;" alt="adonisgarciac"/><br /><sub><b>adonisgarciac</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=adonisgarciac" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=adonisgarciac" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/cfernhout"><img src="https://avatars.githubusercontent.com/u/22294606?v=4?s=100" width="100px;" alt="Chiel Fernhout"/><br /><sub><b>Chiel Fernhout</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=cfernhout" title="Documentation">📖</a></td>
</tr>
</tbody>
</table>

View File

@@ -46,7 +46,6 @@ inputs:
sha:
description: "Specify a different commit SHA used for comparing changes"
required: false
default: ${{ github.sha }}
base_sha:
description: "Specify a different base commit SHA used for comparing changes"
required: false
@@ -76,18 +75,38 @@ inputs:
dir_names_max_depth:
description: "Maximum depth of directories to output. e.g `test/test1/test2` with max depth of `2` returns `test/test1`."
required: false
dir_names_exclude_root:
description: "Exclude the root directory represented by `.` from the output when `dir_names`is set to `true`."
required: false
default: "false"
json:
description: "Output list of changed files in a JSON formatted string which can be used for matrix jobs."
required: false
default: "false"
json_raw_format:
description: "Output list of changed files in [jq](https://devdocs.io/jq/) raw output format which means that the output will not be surrounded by quotes and special characters will not be escaped."
required: false
default: "false"
fetch_depth:
description: "Depth of additional branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
required: false
default: "50"
since_last_remote_commit:
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non merge commit on the target branch for pull request events and the previous remote commit of the current branch for push events."
required: true
required: false
default: "false"
write_output_files:
description: "Write outputs to files in the `.github/outputs` folder by default."
required: false
default: "false"
output_dir:
description: "Directory to store output files."
required: false
default: ".github/outputs"
match_directories:
description: "Indicates whether to include match directories"
default: "true"
required: false
outputs:
added_files:
@@ -166,11 +185,13 @@ runs:
GITHUB_SERVER_URL: ${{ github.server_url }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_REF: ${{ github.ref }}
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_HEAD_REF: ${{ github.head_ref }}
GITHUB_SHA: ${{ github.sha }}
GITHUB_WORKSPACE: ${{ github.workspace }}
GITHUB_EVENT_NUMBER: ${{ github.event.number }}
GITHUB_EVENT_BASE_REF: ${{ github.event.base_ref }}
GITHUB_EVENT_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
GITHUB_EVENT_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
GITHUB_EVENT_PULL_REQUEST_BASE_REF: ${{ github.event.pull_request.base.ref }}
GITHUB_EVENT_PULL_REQUEST_HEAD_REF: ${{ github.event.pull_request.head.ref }}
GITHUB_EVENT_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
GITHUB_EVENT_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
GITHUB_EVENT_PULL_REQUEST_COMMITS: ${{ github.event.pull_request.commits }}
@@ -187,7 +208,7 @@ runs:
INPUT_FETCH_DEPTH: ${{ inputs.fetch_depth }}
INPUT_SINCE_LAST_REMOTE_COMMIT: ${{ inputs.since_last_remote_commit }}
- name: Glob match
uses: tj-actions/glob@v16
uses: tj-actions/glob@fe0bac2f371d720eeb46b5e4afd13ab34305db35 # v16.12
id: glob
with:
files: ${{ inputs.files }}
@@ -201,6 +222,7 @@ runs:
base-sha: ${{ steps.changed-files-diff-sha.outputs.previous_sha }}
sha: ${{ steps.changed-files-diff-sha.outputs.current_sha }}
diff: ${{ steps.changed-files-diff-sha.outputs.diff }}
match-directories: ${{ inputs.match_directories }}
include-deleted-files: true
separator: "|"
- run: |
@@ -209,8 +231,8 @@ runs:
shell: bash
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_EVENT_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
GITHUB_EVENT_PULL_REQUEST_BASE_REF: ${{ github.event.pull_request.base.ref }}
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#example-specifying-inputs
INPUT_FILES_PATTERN_FILE: ${{ steps.glob.outputs.paths-output-file }}
@@ -228,8 +250,40 @@ runs:
INPUT_DIFF_RELATIVE: ${{ inputs.diff_relative }}
INPUT_DIR_NAMES: ${{ inputs.dir_names }}
INPUT_DIR_NAMES_MAX_DEPTH: ${{ inputs.dir_names_max_depth }}
INPUT_DIR_NAMES_EXCLUDE_ROOT: ${{ inputs.dir_names_exclude_root }}
INPUT_JSON: ${{ inputs.json }}
INPUT_HAS_CUSTOM_PATTERNS: ${{ steps.glob.outputs.has-custom-patterns }}
INPUT_JSON_RAW_FORMAT: ${{ inputs.json_raw_format }}
- name: Generate output files
uses: tj-actions/json2file@c56bc641b77b7b29451be35949e452fcadadf0d0 # v1.4.0
if: inputs.write_output_files == 'true'
with:
outputs: ${{ toJSON(steps.changed-files.outputs) }}
directory: ${{ inputs.output_dir }}
skip_missing_keys: true
keys: |
added_files
copied_files
deleted_files
modified_files
renamed_files
all_old_new_renamed_files
type_changed_files
unmerged_files
unknown_files
all_changed_and_modified_files
all_changed_files
any_changed
only_changed
other_changed_files
all_modified_files
any_modified
only_modified
other_modified_files
any_deleted
only_deleted
other_deleted_files
extension: ${{ steps.changed-files.outputs.outputs_extension }}
branding:
icon: file-text

View File

@@ -4,16 +4,20 @@ set -euo pipefail
INITIAL_COMMIT="false"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
EXTRA_ARGS="--no-tags --prune --no-recurse-submodules"
EXTRA_ARGS="--no-tags --prune --recurse-submodules"
PREVIOUS_SHA=""
CURRENT_SHA=""
DIFF="..."
IS_TAG="false"
SOURCE_BRANCH=""
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
IS_TAG="true"
EXTRA_ARGS="--prune --no-recurse-submodules"
SOURCE_BRANCH=${GITHUB_EVENT_BASE_REF#refs/heads/}
fi
if [[ -z $GITHUB_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
DIFF=".."
fi
@@ -50,11 +54,34 @@ else
echo "Valid git version found: ($GIT_VERSION)"
fi
if [[ -z $GITHUB_BASE_REF ]]; then
IS_SHALLOW=$(git rev-parse --is-shallow-repository) && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Unable to determine if the repository is shallow"
exit 1
fi
if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
echo "Running on a push event..."
TARGET_BRANCH=$GITHUB_REFNAME
CURRENT_BRANCH=$TARGET_BRANCH
if [[ "$IS_SHALLOW" == "true" ]]; then
echo "Fetching remote refs..."
if [[ "$IS_TAG" == "false" ]]; then
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$CURRENT_BRANCH":refs/remotes/origin/"$CURRENT_BRANCH" 1>/dev/null
elif [[ "$SOURCE_BRANCH" != "" ]]; then
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$SOURCE_BRANCH":refs/remotes/origin/"$SOURCE_BRANCH" 1>/dev/null
fi
if git submodule status &>/dev/null; then
# shellcheck disable=SC2086
git submodule foreach git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" || true
fi
fi
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
echo "::debug::Getting HEAD SHA for '$INPUT_UNTIL'..."
@@ -68,8 +95,6 @@ if [[ -z $GITHUB_BASE_REF ]]; then
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD) && exit_status=$? || exit_status=$?
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi
fi
@@ -94,25 +119,28 @@ if [[ -z $GITHUB_BASE_REF ]]; then
echo "::error::Unable to locate a previous commit for the specified date: $INPUT_SINCE"
exit 1
fi
elif [[ "$IS_TAG" == "true" ]]; then
PREVIOUS_SHA=$(git rev-parse "$(git tag --sort=-v:refname | head -n 2 | tail -n 1)") && exit_status=$? || exit_status=$?
if [[ -z "$PREVIOUS_SHA" ]]; then
echo "::error::Unable to locate a previous commit for the specified tag: $GITHUB_REF"
exit 1
fi
else
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
PREVIOUS_SHA=""
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH") && exit_status=$? || exit_status=$?
if [[ -z "$PREVIOUS_SHA" ]]; then
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
fi
fi
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
PREVIOUS_SHA=$(git rev-parse "$(git branch -r --sort=-committerdate | head -1 | xargs)")
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
fi
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
@@ -131,9 +159,11 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
PREVIOUS_SHA=$INPUT_BASE_SHA
if [[ "$IS_TAG" == "true" ]]; then
TARGET_BRANCH=$(git describe --tags "$PREVIOUS_SHA")
fi
fi
echo "::debug::Target branch $TARGET_BRANCH..."
@@ -149,14 +179,37 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi
else
echo "Running on a pull request event..."
TARGET_BRANCH=$GITHUB_BASE_REF
CURRENT_BRANCH=$GITHUB_HEAD_REF
TARGET_BRANCH=$GITHUB_EVENT_PULL_REQUEST_BASE_REF
CURRENT_BRANCH=$GITHUB_EVENT_PULL_REQUEST_HEAD_REF
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
TARGET_BRANCH=$CURRENT_BRANCH
fi
echo "Fetching remote refs..."
if [[ "$IS_SHALLOW" == "true" ]]; then
echo "Fetching remote refs..."
# shellcheck disable=SC2086
if git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_PULL_REQUEST_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null; then
echo "First fetch succeeded"
else
echo "First fetch failed, falling back to second fetch"
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$CURRENT_BRANCH"*:refs/remotes/origin/"$CURRENT_BRANCH"* 1>/dev/null || true
fi
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" != "true" ]]; then
echo "::debug::Fetching remote target branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 1>/dev/null || true
fi
if git submodule status &>/dev/null; then
# shellcheck disable=SC2086
git submodule foreach git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" || true
fi
fi
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
@@ -168,17 +221,10 @@ else
exit 1
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD) && exit_status=$? || exit_status=$?
else
CURRENT_SHA=$INPUT_SHA; exit_status=$?
if [[ "$CURRENT_SHA" == "$GITHUB_EVENT_PULL_REQUEST_HEAD_SHA" ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD) && exit_status=$? || exit_status=$?
fi
fi
fi
@@ -195,26 +241,30 @@ else
if [[ -z $INPUT_BASE_SHA ]]; then
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
echo "::debug::Fetching remote current branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH")
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
fi
else
echo "::debug::Fetching remote target branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$TARGET_BRANCH" 1>/dev/null 2>&1
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
echo "::debug::Fetching remote current branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null 2>&1
PREVIOUS_SHA=$(git merge-base origin/"$TARGET_BRANCH" "$CURRENT_SHA") && exit_status=$? || exit_status=$?
if [[ "$IS_SHALLOW" == "true" ]]; then
# check if the merge base is in the local history
if ! git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 1>/dev/null 2>&1; then
echo "::debug::Merge base is not in the local history, fetching remote target branch..."
# Fetch more of the target branch history until the merge base is found
for i in {1..10}; do
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null
if git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 1>/dev/null 2>&1; then
break
fi
echo "::debug::Merge base is not in the local history, fetching remote target branch again..."
echo "::debug::Attempt $i/10"
done
fi
fi
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
@@ -227,13 +277,7 @@ else
fi
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
DIFF=".."
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
echo "::error::Unable find a diff between $PREVIOUS_SHA and $CURRENT_SHA"
exit 1
fi
fi
echo "::debug::Target branch: $TARGET_BRANCH"
@@ -247,6 +291,11 @@ else
echo "::error::Please verify that the previous sha is valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
exit 1
fi
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
echo "::error::Unable to determine a difference between $PREVIOUS_SHA$DIFF$CURRENT_SHA"
exit 1
fi
fi
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" && "$INITIAL_COMMIT" == "false" ]]; then

View File

@@ -10,6 +10,12 @@ INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\r'/'%0D'}"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
DIFF=$INPUT_DIFF
OUTPUTS_EXTENSION="txt"
if [[ "$INPUT_JSON" == "true" ]]; then
OUTPUTS_EXTENSION="json"
fi
if [[ $INPUT_QUOTEPATH == "false" ]]; then
git config --global core.quotepath off
else
@@ -41,52 +47,63 @@ function get_dirname_max_depth() {
depth=$((depth + 1))
done
if [[ "$INPUT_DIR_NAMES_EXCLUDE_ROOT" == "true" && "$output" == "." ]]; then
continue
fi
echo "$output"
done < <(uniq)
}
function json_output() {
local jq_args="-sR"
if [[ "$INPUT_JSON_RAW_FORMAT" == "true" ]]; then
jq_args="$jq_args -r"
fi
# shellcheck disable=SC2086
jq $jq_args 'split("\n") | map(select(. != "")) | @json' | sed -r 's/^"|"$//g' | tr -s /
}
function get_diff() {
local base="$1"
local sha="$2"
local filter="$3"
while IFS='' read -r sub; do
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_pre="$(git diff "$base" "$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
echo "::warning::Failed to get previous commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
fi
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_cur="$(git diff "$base" "$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
echo "::warning::Failed to get current commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
fi
if [ -n "$sub_commit_cur" ]; then
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_diff "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" "$filter" | awk -v r="$sub" '{ print "" r "/" $0}'
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | awk -v r="$sub" '{ print "" r "/" $0}' 2>/dev/null
)
)
) || {
echo "::warning::Failed to get changed files for submodule ($sub) between: ${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904} ${sub_commit_cur}. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
}
fi
done < <(git submodule | awk '{print $2}')
done < <(git submodule status --recursive | grep -v "^-" | awk '{print $2}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
git diff --diff-filter="$filter" --name-only --ignore-submodules=all --no-merges "$base$DIFF$sha" | xargs -I {} dirname {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
if [[ "$filter" == "D" ]]; then
while read -r sub; do
echo "$sub"
done < <(git submodule status --recursive | grep -e "^-" | awk '{print $2}')
fi
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get changed directories between: $base$DIFF$sha"
exit 1
fi
else
git diff --diff-filter="$filter" --name-only --ignore-submodules=all --no-merges "$base$DIFF$sha" && exit_status=$? || exit_status=$?
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get changed files between: $base$DIFF$sha"
exit 1
fi
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get changed files between: $base$DIFF$sha" >&2
return 1
fi
}
@@ -95,42 +112,33 @@ function get_renames() {
local sha="$2"
while IFS='' read -r sub; do
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_pre="$(git diff "$base" "$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
echo "::warning::Failed to get previous commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
fi
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_cur="$(git diff "$base" "$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
echo "::warning::Failed to get current commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
fi
if [ -n "$sub_commit_cur" ]; then
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_renames "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | awk -v r="$sub" '{ print "" r "/" $0}'
git log --name-status --ignore-submodules=all "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}".."${sub_commit_cur}" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | awk -v r="$sub" '{ print "" r "/" $0}'
)
)
) || {
echo "::warning::Failed to get renamed files for submodule ($sub) between: ${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904} ${sub_commit_cur}. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
}
fi
done < <(git submodule | awk '{print $2}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
git log --name-status --ignore-submodules=all "$base".."$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get renamed directories between: $base$sha"
exit 1
fi
else
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get renamed files between: $base$sha"
exit 1
fi
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get renamed files between: $base$sha" >&2
return 1
fi
}
@@ -149,36 +157,72 @@ fi
echo "Retrieving changes between $INPUT_PREVIOUS_SHA ($INPUT_TARGET_BRANCH) → $INPUT_CURRENT_SHA ($INPUT_CURRENT_BRANCH)"
if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" ]]; then
if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" || -z "$INPUT_FILES_PATTERN_FILE" ]]; then
if [[ "$INPUT_JSON" == "false" ]]; then
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
fi
else
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
else
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | json_output)
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | json_output)
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | json_output)
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | json_output)
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | json_output)
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | json_output)
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | json_output)
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | json_output)
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | json_output)
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | json_output)
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | json_output)
fi
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
else
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | json_output)
fi
fi
fi
else
@@ -225,9 +269,17 @@ else
fi
if [[ "$INPUT_JSON" == "false" ]]; then
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
else
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
else
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
fi
fi
if [[ -n "${OTHER_CHANGED}" && "${OTHER_CHANGED}" != "[]" ]]; then
@@ -277,9 +329,17 @@ else
fi
if [[ "$INPUT_JSON" == "false" ]]; then
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
else
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
else
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
fi
fi
if [[ -n "${OTHER_MODIFIED}" && "$OTHER_MODIFIED" != "[]" ]]; then
@@ -328,9 +388,17 @@ else
fi
if [[ "$INPUT_JSON" == "false" ]]; then
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
else
OTHER_DELETED=$(echo "${OTHER_DELETED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
else
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
fi
fi
if [[ -n "${OTHER_DELETED}" && "${OTHER_DELETED}" != "[]" ]]; then
@@ -350,29 +418,57 @@ else
fi
fi
if [[ "$INPUT_JSON" == "false" ]]; then
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
else
ADDED=$(echo "${ADDED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
COPIED=$(echo "${COPIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
DELETED=$(echo "${DELETED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
MODIFIED=$(echo "${MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
RENAMED=$(echo "${RENAMED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNMERGED=$(echo "${UNMERGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNKNOWN=$(echo "${UNKNOWN}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED=$(echo "${ALL_CHANGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
else
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
fi
fi
fi
@@ -403,6 +499,7 @@ if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=all_changed_and_modified_files::$ALL_CHANGED_AND_MODIFIED"
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
echo "::set-output name=outputs_extension::$OUTPUTS_EXTENSION"
else
cat <<EOF >>"$GITHUB_OUTPUT"
added_files=$ADDED
@@ -416,6 +513,7 @@ unknown_files=$UNKNOWN
all_changed_and_modified_files=$ALL_CHANGED_AND_MODIFIED
all_changed_files=$ALL_CHANGED
all_modified_files=$ALL_MODIFIED
outputs_extension=$OUTPUTS_EXTENSION
EOF
fi

View File

@@ -20,6 +20,7 @@
"enabled": true,
"automerge": true
},
"baseBranches": ["main", "sec"],
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],

View File

@@ -1 +1 @@
This is a test file
This is a test file.

View File

@@ -1 +1 @@
This is a test file
This is a test file.

View File

@@ -1 +1 @@
Lorem ipsum dolor sit amet, consectetur adip eget, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.