Compare commits

...

176 Commits

Author SHA1 Message Date
renovate[bot]
2e61fb6a48 chore(deps): update tj-actions/glob action to v17.1.0 (sec) (#1097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-21 17:58:15 +00:00
github-actions[bot]
9edddf3d63 Merge branch 'main' into sec 2023-04-21 17:57:05 +00:00
renovate[bot]
ce810b29b2 chore(deps): update tj-actions/glob action to v17.1.0 (main) (#1096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-21 17:56:52 +00:00
renovate[bot]
a24d2903b9 chore(deps): update tj-actions/json2file action to v1.4.2 (sec) (#1090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 23:15:26 +00:00
github-actions[bot]
ede393db5b Merge branch 'main' into sec 2023-04-14 23:11:10 +00:00
renovate[bot]
4e5d0fad4d chore(deps): update tj-actions/json2file action to v1.4.2 (main) (#1089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 23:10:54 +00:00
github-actions[bot]
f3595e1d0d Merge branch 'main' into sec 2023-04-14 02:36:05 +00:00
Tonye Jack
fea1ca3c21 chore: Update README.md (#1087) 2023-04-14 02:35:51 +00:00
github-actions[bot]
5c809784a2 Merge branch 'main' into sec 2023-04-12 10:38:05 +00:00
Tonye Jack
df0c101b3f Upgraded to v35.8.0 (#1084)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-04-12 10:37:51 +00:00
Tonye Jack
0e154fc482 chore(sec): upgrade tj-actions/glob (#1083) 2023-04-12 04:07:02 -06:00
renovate[bot]
72a2c0de17 chore(deps): update peter-evans/create-pull-request action to v5 (sec) (#1076)
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-04-12 04:07:02 -06:00
renovate[bot]
753840ecba chore(deps): update tj-actions/json2file action to v1.4.1 (sec) (#1074)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-12 04:07:02 -06:00
renovate[bot]
f8bb26bf6f chore(deps): update tj-actions/glob action to v16.14 (sec) (#1052)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-12 04:07:02 -06:00
renovate[bot]
1579bc828f chore(deps): update tj-actions/glob action to v16.13 (sec) (#1049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-12 04:07:02 -06:00
renovate[bot]
45b68b4a7c 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-04-12 04:07:02 -06:00
renovate[bot]
97aac57244 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-04-12 04:07:02 -06:00
Tonye Jack
b5d0d85099 Updated to pin dependent actions with full sha 2023-04-12 04:06:23 -06:00
Tonye Jack
7ecfc6730d chore: upgrade tj-actions/glob (#1082) 2023-04-12 04:02:29 -06:00
Tonye Jack
8b07761656 Update renovate.json 2023-04-11 22:54:25 -06:00
Tonye Jack
e45cb98580 Update README.md 2023-04-07 15:39:00 -06:00
Tonye Jack
87380821bf Upgraded to v35.7.12 (#1078)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-04-07 01:29:14 -06:00
Tonye Jack
b109d83a62 fix: error finding merge base (#1077) 2023-04-06 20:56:59 -06:00
Tonye Jack
b109d82bbf Update README.md 2023-04-06 19:44:11 -06:00
renovate[bot]
5c78c9fe10 chore(deps): update peter-evans/create-pull-request action to v5 (main) (#1075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-05 01:08:49 +00:00
renovate[bot]
2f5a1b0ae2 chore(deps): update tj-actions/json2file action to v1.4.1 (main) (#1073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-05 00:15:41 +00:00
Tonye Jack
0302ff21cd Upgraded to v35.7.11 (#1072)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-04-04 20:40:12 +00:00
Tonye Jack
79adacd43e chore: Update sync-release-version.yml (#1071) 2023-04-04 19:58:30 +00:00
Tonye Jack
b3ee2eb875 Upgraded to v35.7.10 (#1070)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-04-04 13:22:37 -06:00
Tonye Jack
6e426e6495 chore: generate changelogs using tj-actions/git-cliff (#1069) 2023-04-04 13:07:27 -06:00
Tonye Jack
5e2d64b30d feat: improve error handling (#1068) 2023-04-04 18:08:11 +00:00
Tonye Jack
3bac490b9e Updated README.md (#1067)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-30 23:22:05 -06:00
Tonye Jack
3f253380d0 Update README.md (#1066) 2023-03-30 23:08:04 -06:00
Tonye Jack
ed3a233c12 Updated README.md (#1065)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-30 23:04:10 -06:00
Tonye Jack
5e30988ccd Update README.md (#1064) 2023-03-30 23:01:17 -06:00
Tonye Jack
eca4cad8f9 Updated README.md (#1063)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-29 17:44:54 +00:00
Tonye Jack
e085286c32 Update README.md 2023-03-29 11:09:03 -06:00
Tonye Jack
ba19ff432d Update README.md 2023-03-29 10:00:54 -06:00
Tonye Jack
469d60a2c7 Update README.md (#1062) 2023-03-29 09:59:56 -06:00
allcontributors[bot]
86476f23a6 docs: add albertoperdomo2 as a contributor for doc (#1061)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2023-03-29 09:54:42 -06:00
Alberto Perdomo
72539bec37 Correct version in examples. (#1060) 2023-03-29 09:53:27 -06:00
Tonye Jack
123f9a4d0d Update README.md 2023-03-28 19:25:38 -06:00
Tonye Jack
b77f2d8f69 Updated README.md (#1057)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2023-03-29 00:56:31 +00:00
Tonye Jack
51fd453fbc Update README.md (#1056) 2023-03-29 00:26:47 +00:00
Tonye Jack
b5633a53cb Updated README.md (#1055)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-28 22:50:50 +00:00
Tonye Jack
355089dca8 Update README.md 2023-03-28 16:23:54 -06:00
Tonye Jack
6cda158eaa Upgraded to v35.7.8 (#1054)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-28 19:52:23 +00:00
Tonye Jack
08cde2a468 Upgraded to V35 (#1053)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-28 18:55:26 +00:00
renovate[bot]
e9b5807e92 chore(deps): update tj-actions/glob action to v16.14 (main) (#1051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-28 10:27:28 +00:00
Tonye Jack
d372d0971f Upgraded to v35.7.7 (#1050)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-28 08:17:26 +00:00
renovate[bot]
db5dd7c176 chore(deps): update tj-actions/glob action to v16.13 (main) (#1048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-27 23:56:06 -06:00
Tonye Jack
1e674fcfac Update README.md 2023-03-27 14:58:40 -06:00
Tonye Jack
c3e1f46ee4 chore: update README.md (#1047) 2023-03-25 07:03:30 -06:00
Tonye Jack
be8e4c86e6 Upgraded to v35.7.6 (#1045)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-23 00:47:39 +00:00
Tonye Jack
bff90b7e3b Upgraded to v35.7.4 (#1044)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-22 18:01:27 -06:00
Tonye Jack
a95a008d18 Upgraded to v35.7.3 (#1043)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-03-22 23:51:36 +00:00
Tonye Jack
07f86bcdc4 Update sync-release-version.yml 2023-03-22 14:47:57 -06:00
Tonye Jack
3a3ec498d8 Update sync-release-version.yml 2023-03-22 14:38:48 -06:00
Tonye Jack
ee137444f0 Update sync-release-version.yml 2023-03-22 14:30:26 -06:00
Tonye Jack
cda2902303 chore: add create sec tag job (#1042) 2023-03-22 14:26:24 -06:00
Tonye Jack
986ad9c20c chore: update sec-auto-merge.yml (#1041) 2023-03-22 12:28:03 -06:00
Tonye Jack
c39d6d3f14 fix: bug with returning old and new rename files (#1040) 2023-03-22 16:26:34 +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
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]
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
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
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
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
15 changed files with 5598 additions and 1743 deletions

View File

@@ -178,6 +178,15 @@
"contributions": [
"doc"
]
},
{
"login": "albertoperdomo2",
"name": "Alberto Perdomo",
"avatar_url": "https://avatars.githubusercontent.com/u/62241095?v=4",
"profile": "https://github.com/albertoperdomo2",
"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

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@v5.0.0
with:
title: "Updated submodule"
labels: "merge when passing"

View File

@@ -5,14 +5,40 @@ on:
jobs:
update-version:
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
needs: create-sec-tag
steps:
- uses: actions/checkout@v3
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
@@ -21,12 +47,10 @@ jobs:
only_major: true
paths: |
README.md
- name: Generate CHANGELOG
uses: tj-actions/github-changelog-generator@v1.17
with:
output: 'HISTORY.md'
- name: Run git-cliff
uses: tj-actions/git-cliff@v1
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.2.3
uses: peter-evans/create-pull-request@v5.0.0
with:
base: "main"
labels: "merge when passing"

View File

@@ -5,15 +5,13 @@ on:
branches:
- "**"
pull_request:
types:
- opened
- synchronize
- reopened
branches:
- main
- sec
pull_request_review:
branches:
- main
- sec
jobs:
shellcheck:
@@ -24,16 +22,11 @@ jobs:
- name: Checkout to branch
uses: actions/checkout@v3
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.16
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
@@ -84,13 +77,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
@@ -140,12 +128,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
@@ -175,12 +158,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
@@ -203,13 +181,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
@@ -220,6 +198,8 @@ jobs:
- name: Run changed-files
id: changed-files
uses: ./
with:
fetch_depth: ${{ matrix.input-fetch_depth }}
- name: Show output
run: |
@@ -229,12 +209,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
@@ -281,12 +256,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
@@ -331,6 +301,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 }}
@@ -339,7 +346,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
@@ -446,6 +453,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: ./

View File

@@ -14,13 +14,13 @@ jobs:
fetch-depth: 0
- name: Run auto-doc
uses: tj-actions/auto-doc@v1
uses: tj-actions/auto-doc@v2
- 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
uses: peter-evans/create-pull-request@v5
with:
base: "main"
labels: "merge when passing"

6686
HISTORY.md

File diff suppressed because it is too large Load Diff

282
README.md
View File

@@ -1,33 +1,53 @@
[![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-19-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<div align="center">
<img width="auto" alt="Screen Shot 2021-11-19 at 4 59 21 PM" src="https://user-images.githubusercontent.com/17484350/229027815-eee0bf22-f3e5-444d-9d90-6409c68a0dc9.png">
</div>
## 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 usage](#real-world-usage)
* [Known Limitation](#known-limitation)
* [Migration guide](#migration-guide)
* [Credits](#credits)
* [Report Bugs](#report-bugs)
* [Contributors ✨](#contributors-)
## Features
* 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.
* Optionally save outputs to files at a specified location for further processing.
* 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.
@@ -39,33 +59,34 @@ 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
* Brace expansion.
## Usage
> NOTE: :warning:
> **Warning**:
>
> * **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 -> to the current commit of the main branch.
# (Note: To compare changes between the current commit to the last pushed remote commit of the 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 current commit to the last pushed remote commit of a 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:
runs-on: ubuntu-latest # windows-latest | macos-latest
@@ -79,6 +100,10 @@ jobs:
- name: Get changed files
id: changed-files
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: |
@@ -98,6 +123,22 @@ jobs:
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
- 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:
@@ -162,6 +203,7 @@ Support this project with a :star:
| 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. |
@@ -188,6 +230,26 @@ Support this project with a :star:
<!-- 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>
@@ -261,6 +323,50 @@ See [outputs](#outputs) for a list of all available outputs.
</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/outputs/added_files.txt file
run: |
cat .github/outputs/added_files.txt
...
```
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 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/outputs/added_files.json file
run: |
cat .github/outputs/added_files.json
...
```
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>
@@ -403,6 +509,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>
@@ -515,7 +664,7 @@ See [inputs](#inputs) for more information.
</li>
</ul>
> NOTE: This setting overrides the commit sha used by setting `since_last_remote_commit` to true.
> **Warning**: This setting overrides the commit sha used by setting `since_last_remote_commit` to true.
> It is recommended to use either solution that works for your use case.
See [inputs](#inputs) for more information.
@@ -579,60 +728,54 @@ See [inputs](#inputs) for more information.
</details>
### Real world example
## Real world usage
<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">
* [vitejs/vite: uses tj-actions/changed-files to automate testing](https://github.com/vitejs/vite/blob/8da04227d6f818a8ad9efc0056101968037c2e36/.github/workflows/ci.yml#L61)
* Free software: [MIT license](LICENSE)
* [qgis/QGIS: uses tj-actions/changed-files to automate spell checking](https://github.com/qgis/QGIS/blob/a5333497e90ac9de4ca70463d8e0b64c3f294d63/.github/workflows/code_layout.yml#L147)
* [coder/code-server: uses tj-actions/changed-files to automate detecting changes and run steps based on the outcome](https://github.com/coder/code-server/blob/c32a31d802f679846876b8ad9aacff6cf7b5361d/.github/workflows/build.yaml#L48)
* [tldr-pages/tldr: uses tj-actions/changed-files to automate detecting spelling errors](https://github.com/tldr-pages/tldr/blob/main/.github/workflows/codespell.yml#L14)
* [nodejs/docker-node: uses tj-actions/changed-files to generate matrix jobs based on changes detected](https://github.com/nodejs/docker-node/blob/3c4fa6daf06a4786d202f2f610351837806a0380/.github/workflows/build-test.yml#L29)
And many more...
## Known Limitation
> NOTE: :warning:
> **Warning**:
>
> * 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
With the switch from using grep's Extended regex to match files to the natively supported workflow glob pattern matching syntax introduced in [v13](https://github.com/tj-actions/changed-files/releases/tag/v13) you'll need to modify patterns used to match `files`.
**BEFORE**
```yml
```diff
...
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v12.2
with:
files: |
\.sh$
.(sql|py)$
^(mynewfile|custom)
```
**AFTER**
```yml
...
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v24
with:
files: |
*.sh
*.sql
*.py
mynewfile
custom/**
- \.sh$
- .(sql|py)$
- ^(dir1|dir2)
+ *.{sh,sql,py}
+ dir1
+ dir2
```
* Free software: [MIT license](LICENSE)
## Credits
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
This package was created with [cookiecutter-action](https://github.com/tj-actions/cookiecutter-action).
* [tj-actions/glob](https://github.com/tj-actions/glob)
* [tj-actions/auto-doc](https://github.com/tj-actions/auto-doc)
@@ -665,29 +808,30 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<table>
<tbody>
<tr>
<td align="center"><a href="https://github.com/jsoref"><img src="https://avatars.githubusercontent.com/u/2119212?v=4?s=100" width="100px;" alt="Josh Soref"/><br /><sub><b>Josh Soref</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=jsoref" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/monoxgas"><img src="https://avatars.githubusercontent.com/u/1223016?v=4?s=100" width="100px;" alt="Nick Landers"/><br /><sub><b>Nick Landers</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=monoxgas" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Kras4ooo"><img src="https://avatars.githubusercontent.com/u/1948054?v=4?s=100" width="100px;" alt="Krasimir Nikolov"/><br /><sub><b>Krasimir Nikolov</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/IvanPizhenko"><img src="https://avatars.githubusercontent.com/u/11859904?v=4?s=100" width="100px;" alt="Ivan Pizhenko"/><br /><sub><b>Ivan Pizhenko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/talva-tr"><img src="https://avatars.githubusercontent.com/u/82046981?v=4?s=100" width="100px;" alt="talva-tr"/><br /><sub><b>talva-tr</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=talva-tr" title="Code">💻</a></td>
<td align="center"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt="Ikko Ashimine"/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=eltociear" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/Zamiell"><img src="https://avatars.githubusercontent.com/u/5511220?v=4?s=100" width="100px;" alt="James"/><br /><sub><b>James</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Zamiell" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jsoref"><img src="https://avatars.githubusercontent.com/u/2119212?v=4?s=100" width="100px;" alt="Josh Soref"/><br /><sub><b>Josh Soref</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=jsoref" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/monoxgas"><img src="https://avatars.githubusercontent.com/u/1223016?v=4?s=100" width="100px;" alt="Nick Landers"/><br /><sub><b>Nick Landers</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=monoxgas" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Kras4ooo"><img src="https://avatars.githubusercontent.com/u/1948054?v=4?s=100" width="100px;" alt="Krasimir Nikolov"/><br /><sub><b>Krasimir Nikolov</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/IvanPizhenko"><img src="https://avatars.githubusercontent.com/u/11859904?v=4?s=100" width="100px;" alt="Ivan Pizhenko"/><br /><sub><b>Ivan Pizhenko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/talva-tr"><img src="https://avatars.githubusercontent.com/u/82046981?v=4?s=100" width="100px;" alt="talva-tr"/><br /><sub><b>talva-tr</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=talva-tr" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt="Ikko Ashimine"/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=eltociear" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Zamiell"><img src="https://avatars.githubusercontent.com/u/5511220?v=4?s=100" width="100px;" alt="James"/><br /><sub><b>James</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Zamiell" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/wushujames"><img src="https://avatars.githubusercontent.com/u/677529?v=4?s=100" width="100px;" alt="James Cheng"/><br /><sub><b>James Cheng</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=wushujames" title="Documentation">📖</a></td>
<td align="center"><a href="https://qiita.com/SUZUKI_Masaya"><img src="https://avatars.githubusercontent.com/u/15100604?v=4?s=100" width="100px;" alt="Masaya Suzuki"/><br /><sub><b>Masaya Suzuki</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=massongit" title="Code">💻</a></td>
<td align="center"><a href="https://fagai.net"><img src="https://avatars.githubusercontent.com/u/1772112?v=4?s=100" width="100px;" alt="fagai"/><br /><sub><b>fagai</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=fagai" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/pkit"><img src="https://avatars.githubusercontent.com/u/805654?v=4?s=100" width="100px;" alt="Constantine Peresypkin"/><br /><sub><b>Constantine Peresypkin</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=pkit" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/deronnax"><img src="https://avatars.githubusercontent.com/u/439279?v=4?s=100" width="100px;" alt="Mathieu Dupuy"/><br /><sub><b>Mathieu Dupuy</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=deronnax" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/JoeOvo"><img src="https://avatars.githubusercontent.com/u/100686542?v=4?s=100" width="100px;" alt="Joe Moggridge"/><br /><sub><b>Joe Moggridge</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=JoeOvo" title="Documentation">📖</a></td>
<td align="center"><a href="https://www.credly.com/users/thyarles/badges"><img src="https://avatars.githubusercontent.com/u/1340046?v=4?s=100" width="100px;" alt="Charles Santos"/><br /><sub><b>Charles Santos</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=thyarles" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wushujames"><img src="https://avatars.githubusercontent.com/u/677529?v=4?s=100" width="100px;" alt="James Cheng"/><br /><sub><b>James Cheng</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=wushujames" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://qiita.com/SUZUKI_Masaya"><img src="https://avatars.githubusercontent.com/u/15100604?v=4?s=100" width="100px;" alt="Masaya Suzuki"/><br /><sub><b>Masaya Suzuki</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=massongit" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://fagai.net"><img src="https://avatars.githubusercontent.com/u/1772112?v=4?s=100" width="100px;" alt="fagai"/><br /><sub><b>fagai</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=fagai" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pkit"><img src="https://avatars.githubusercontent.com/u/805654?v=4?s=100" width="100px;" alt="Constantine Peresypkin"/><br /><sub><b>Constantine Peresypkin</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=pkit" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/deronnax"><img src="https://avatars.githubusercontent.com/u/439279?v=4?s=100" width="100px;" alt="Mathieu Dupuy"/><br /><sub><b>Mathieu Dupuy</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=deronnax" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JoeOvo"><img src="https://avatars.githubusercontent.com/u/100686542?v=4?s=100" width="100px;" alt="Joe Moggridge"/><br /><sub><b>Joe Moggridge</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=JoeOvo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.credly.com/users/thyarles/badges"><img src="https://avatars.githubusercontent.com/u/1340046?v=4?s=100" width="100px;" alt="Charles Santos"/><br /><sub><b>Charles Santos</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=thyarles" title="Code">💻</a></td>
</tr>
<tr>
<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>
<td align="center" valign="top" width="14.28%"><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" valign="top" width="14.28%"><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" valign="top" width="14.28%"><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" valign="top" width="14.28%"><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" valign="top" width="14.28%"><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>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/albertoperdomo2"><img src="https://avatars.githubusercontent.com/u/62241095?v=4?s=100" width="100px;" alt="Alberto Perdomo"/><br /><sub><b>Alberto Perdomo</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=albertoperdomo2" title="Documentation">📖</a></td>
</tr>
</tbody>
</table>

View File

@@ -75,6 +75,10 @@ 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
@@ -183,6 +187,7 @@ runs:
GITHUB_REF: ${{ github.ref }}
GITHUB_SHA: ${{ github.sha }}
GITHUB_WORKSPACE: ${{ github.workspace }}
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 }}
@@ -203,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@eb138047b8b00dafdd53554152f8885f68a891f6 # v17.1.0
id: glob
with:
files: ${{ inputs.files }}
@@ -245,11 +250,12 @@ 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@v1
uses: tj-actions/json2file@46d3707a327c0049b276be5977a89354b9310003 # v1.4.2
if: inputs.write_output_files == 'true'
with:
outputs: ${{ toJSON(steps.changed-files.outputs) }}

View File

@@ -4,13 +4,17 @@ 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_EVENT_PULL_REQUEST_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
@@ -50,15 +54,32 @@ else
echo "Valid git version found: ($GIT_VERSION)"
fi
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 [[ -f .git/shallow ]]; then
if [[ "$IS_SHALLOW" == "true" ]]; then
echo "Fetching remote refs..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null
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 || true
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 || 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..."
@@ -98,6 +119,13 @@ if [[ -z $GITHUB_EVENT_PULL_REQUEST_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=""
@@ -105,14 +133,14 @@ if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD~1") && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD~1") && exit_status=$? || exit_status=$?
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-list -n 1 "HEAD~1") && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
fi
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
@@ -132,6 +160,10 @@ if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
fi
else
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..."
@@ -154,16 +186,28 @@ else
TARGET_BRANCH=$CURRENT_BRANCH
fi
if [[ -f .git/shallow ]]; then
if [[ "$IS_SHALLOW" == "true" ]]; then
echo "Fetching remote refs..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null
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 -u --progress $EXTRA_ARGS --depth="$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 2>&1 || true
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
@@ -203,10 +247,23 @@ else
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
fi
else
PREVIOUS_SHA=$(git merge-base "$TARGET_BRANCH" "$CURRENT_SHA") && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
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=$?
if [[ "$IS_SHALLOW" == "true" ]]; then
# check if the merge base is in the local history
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$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 diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$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

View File

@@ -47,18 +47,22 @@ 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() {
JQ_ARGS="-sR"
local jq_args="-sR"
if [[ "$INPUT_JSON_RAW_FORMAT" == "true" ]]; then
JQ_ARGS="$JQ_ARGS -r"
jq_args="$jq_args -r"
fi
# shellcheck disable=SC2086
jq $JQ_ARGS 'split("\n") | map(select(. != "")) | @json' | sed -r 's/^"|"$//g' | tr -s /
jq $jq_args 'split("\n") | map(select(. != "")) | @json' | sed -r 's/^"|"$//g' | tr -s /
}
function get_diff() {
@@ -67,33 +71,39 @@ function get_diff() {
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}')
git diff --diff-filter="$filter" --name-only --ignore-submodules=all --no-merges "$base$DIFF$sha" && 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
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
echo "::error::Failed to get changed files between: $base$DIFF$sha" >&2
return 1
fi
}
@@ -102,33 +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}')
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=$?
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
echo "::error::Failed to get renamed files between: $base$sha" >&2
return 1
fi
}

View File

@@ -3,8 +3,8 @@
"config:base"
],
"enabled": true,
"prHourlyLimit": 10,
"prConcurrentLimit": 5,
"prHourlyLimit": 30,
"prConcurrentLimit": 10,
"rebaseWhen": "behind-base-branch",
"addLabels": [
"dependencies",
@@ -20,6 +20,7 @@
"enabled": true,
"automerge": true
},
"baseBranches": ["main", "sec"],
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],