Compare commits

...

369 Commits

Author SHA1 Message Date
renovate[bot]
05f0aba931
chore(deps): lock file maintenance (#2369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 00:19:03 +00:00
renovate[bot]
462396174f
chore(deps): update dependency @types/node to v22.10.1 (#2368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 07:21:30 +00:00
renovate[bot]
c19a7eb771
chore(deps): update dependency eslint-plugin-github to v5.1.3 (#2367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 20:41:59 +00:00
renovate[bot]
c288441a7d
chore(deps): update dependency prettier to v3.4.1 (#2366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 15:39:38 +00:00
renovate[bot]
1d6ea46cac
chore(deps): update dependency prettier to v3.4.0 (#2365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 08:24:22 +00:00
renovate[bot]
02b41f5ff9
chore(deps): update dependency @types/node to v22.10.0 (#2364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 04:09:53 +00:00
renovate[bot]
b4a4dcabce
chore(deps): update dependency @types/node to v22.9.4 (#2361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 23:20:16 +00:00
renovate[bot]
602aacf949
chore(deps): lock file maintenance (#2360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 01:43:47 +00:00
renovate[bot]
51290e039a
chore(deps): update dependency @types/node to v22.9.3 (#2359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 07:57:35 +00:00
renovate[bot]
b4badd8cce
chore(deps): update dependency @types/node to v22.9.2 (#2358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 01:37:53 +00:00
renovate[bot]
652b4c06e8
chore(deps): update dependency typescript to v5.7.2 (#2357)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-11-22 17:47:46 +00:00
dependabot[bot]
0b7a421316
chore(deps-dev): bump eslint-plugin-github from 5.0.2 to 5.1.1 (#2356)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 10:31:13 -07:00
dependabot[bot]
b26581aca1
chore(deps): bump yaml from 2.6.0 to 2.6.1 (#2353)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 10:59:38 -07:00
renovate[bot]
43e6b45c5d
chore(deps): update dependency @types/node to v22.9.1 (#2352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 19:02:55 +00:00
renovate[bot]
fe1bc0e3d3
chore(deps): lock file maintenance (#2349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 00:48:55 +00:00
renovate[bot]
d7917c6584
chore(deps): update dependency @vercel/ncc to v0.38.3 (#2348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 08:08:19 +00:00
renovate[bot]
3f646a3549
chore(deps): lock file maintenance (#2345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 01:13:14 +00:00
tj-actions[bot]
6809677b7a
Upgraded to v45.0.4 (#2344)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-11-07 21:35:59 -07:00
renovate[bot]
4edd678ac3 chore(deps): update dependency eslint-plugin-jest to v28.9.0 2024-11-05 20:16:30 +00:00
renovate[bot]
f08255874b chore(deps): update dependency @types/node to v22.9.0 2024-11-05 03:24:14 +00:00
renovate[bot]
92c02a00a1 chore(deps): lock file maintenance 2024-11-04 00:11:16 +00:00
renovate[bot]
b70221184d chore(deps): update dependency @types/node to v22.8.7 2024-11-03 08:15:03 +00:00
renovate[bot]
435fd74b2e chore(deps): update dependency @types/node to v22.8.6 2024-10-31 20:02:43 +00:00
renovate[bot]
0626fa3ff3 chore(deps): update dependency @types/node to v22.8.5 2024-10-31 06:21:09 +00:00
renovate[bot]
8817a797cb chore(deps): update dependency @types/lodash to v4.17.13 2024-10-30 01:09:40 +00:00
renovate[bot]
54174910be chore(deps): update dependency @types/node to v22.8.4 2024-10-29 19:35:50 +00:00
renovate[bot]
84ef162530 chore(deps): update dependency @types/node to v22.8.2 2024-10-28 23:25:10 +00:00
renovate[bot]
b672a5115a chore(deps): lock file maintenance 2024-10-28 02:21:37 +00:00
renovate[bot]
678cdc2808 chore(deps): update dependency @types/node to v22.8.1 2024-10-26 02:01:48 +00:00
renovate[bot]
27b7bbb0ae chore(deps): update dependency @types/node to v22.8.0 2024-10-25 14:24:14 +00:00
renovate[bot]
83610723bb chore(deps): update actions/setup-node action to v4.1.0 2024-10-24 14:37:52 +00:00
renovate[bot]
21acf46f4a chore(deps): update dependency @types/node to v22.7.9 2024-10-23 11:18:25 +00:00
renovate[bot]
f356b3c86b chore(deps): update dependency @types/jest to v29.5.14 2024-10-23 06:35:49 +00:00
renovate[bot]
66275de060 chore(deps): update dependency @types/node to v22.7.8 2024-10-22 04:30:30 +00:00
renovate[bot]
a16702bf7a chore(deps): lock file maintenance 2024-10-21 00:42:03 +00:00
renovate[bot]
aa11897ec4 chore(deps): update dependency @types/lodash to v4.17.12 2024-10-19 08:01:58 +00:00
renovate[bot]
6513fe1691 chore(deps): update dependency @types/node to v22.7.7 2024-10-19 03:58:07 +00:00
renovate[bot]
45e0c78ac7 chore(deps): update dependency @types/lodash to v4.17.11 2024-10-18 13:49:37 +00:00
renovate[bot]
a949a8338c chore(deps): update dependency @types/node to v22.7.6 2024-10-17 03:01:23 +00:00
Tonye Jack
1f772e919b
feat: prevent ignore files warning (#2318) 2024-10-15 00:04:31 +00:00
Tonye Jack
684c5e6d94
skip: step for dependabot PRs (#2317) 2024-10-14 16:21:02 +00:00
GitHub Action
9d7201ded6 Added missing changes and modified dist assets. 2024-10-14 10:02:19 -06:00
renovate[bot]
f93ff33629 chore(deps): lock file maintenance 2024-10-14 10:02:19 -06:00
renovate[bot]
729c70475c chore(deps): update dependency typescript to v5.6.3 2024-10-09 00:34:41 +00:00
renovate[bot]
2009d446ac chore(deps): update dependency @types/node to v22.7.5 2024-10-08 01:30:35 +00:00
renovate[bot]
b693fc207f chore(deps): lock file maintenance 2024-10-07 01:21:02 +00:00
GitHub Action
0104c75ccc Added missing changes and modified dist assets. 2024-10-04 20:45:40 -06:00
renovate[bot]
4d0aab94b6 fix(deps): update dependency @actions/core to v1.11.1 2024-10-04 20:45:40 -06:00
tj-actions[bot]
df3e9932c4
Upgraded to v45.0.3 (#2308)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-10-03 20:11:06 -06:00
Tonye Jack
c3a1bb2c99
fix: overwriting yaml filter patterns (#2307)
Co-authored-by: tj-actions[bot] <109116665+tj-actions-bot@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-03 12:48:13 +00:00
renovate[bot]
27843f1667 chore(deps): update dependency @types/lodash to v4.17.10 2024-10-03 09:49:54 +00:00
GitHub Action
36d5b9dda5 Added missing changes and modified dist assets. 2024-10-02 19:21:54 +00:00
renovate[bot]
9d4f8fea58 fix(deps): update dependency @actions/core to v1.11.0 2024-10-02 19:21:54 +00:00
Tonye Jack
d0cf1645b7
fix: bug with files ignore yaml patterns not filtering the list of files (#2304)
Co-authored-by: GitHub Action <action@github.com>
2024-10-02 13:12:26 -06:00
Tonye Jack
641e22af4a
docs: Update README.md (#2300) 2024-09-30 08:20:25 -06:00
renovate[bot]
8a4a9757b7 chore(deps): lock file maintenance 2024-09-30 00:23:12 +00:00
renovate[bot]
6bfa9e7a9a chore(deps): update dependency @types/node to v22.7.4 2024-09-27 17:10:26 +00:00
renovate[bot]
625dbd682e chore(deps): update dependency @types/node to v22.7.3 2024-09-26 18:20:17 +00:00
Tonye Jack
1a71128b6a
docs: Update README.md (#2296) 2024-09-26 13:51:22 +00:00
renovate[bot]
c29c1d3dd0 chore(deps): update dependency @types/node to v22.7.2 2024-09-25 22:42:19 +00:00
Tonye Jack
e753fb0a63
fix: test for since last remote commit check on pull_request closed (#2295) 2024-09-25 13:57:38 +00:00
renovate[bot]
e21f1a3077 chore(deps): update dependency @types/node to v22.7.0 2024-09-25 01:36:11 +00:00
renovate[bot]
792230fced chore(deps): update dependency @types/node to v22.6.1 2024-09-23 21:27:30 +00:00
GitHub Action
4dbe54f96e Added missing changes and modified dist assets. 2024-09-23 20:53:42 +00:00
renovate[bot]
537f1c6318 chore(deps): update dependency @vercel/ncc to v0.38.2 2024-09-23 20:53:42 +00:00
renovate[bot]
82587d8858 chore(deps): update dependency @types/lodash to v4.17.9 2024-09-23 19:43:48 +00:00
renovate[bot]
eda64a62bd chore(deps): lock file maintenance 2024-09-23 01:27:08 +00:00
renovate[bot]
4d5444c2c3 chore(deps): update actions/setup-node action to v4.0.4 2024-09-19 15:00:59 +00:00
renovate[bot]
c2e104be2f chore(deps): update peter-evans/create-pull-request action to v7.0.5 2024-09-18 19:36:13 +00:00
renovate[bot]
eed685a419 chore(deps): update dependency eslint to v8.57.1 2024-09-16 18:33:19 +00:00
tj-actions[bot]
6f538bb83f
Upgraded to v45.0.2 (#2282)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-09-16 12:20:58 -06:00
renovate[bot]
48d8f15b2a chore(deps): update peter-evans/create-pull-request action to v7.0.3 2024-09-16 12:06:47 +00:00
renovate[bot]
f4e06529f1 chore(deps): lock file maintenance 2024-09-16 01:55:34 +00:00
renovate[bot]
9b5f7d7ff5 chore(deps): update dependency @types/node to v22.5.5 2024-09-14 04:47:20 +00:00
renovate[bot]
80dc58425e chore(deps): update dependency @types/jest to v29.5.13 2024-09-12 18:11:51 +00:00
renovate[bot]
f9216b6d97 chore(deps): update peter-evans/create-pull-request action to v7.0.2 2024-09-12 12:53:03 +00:00
renovate[bot]
fef272dc40 chore(deps): update dependency eslint-plugin-github to v5.0.2 2024-09-11 13:36:04 +00:00
renovate[bot]
a236bf57ea chore(deps): update dependency typescript to v5.6.2 2024-09-09 18:13:27 +00:00
renovate[bot]
0cb58dec12 chore(deps): lock file maintenance 2024-09-09 03:31:46 +00:00
renovate[bot]
44f3356296 chore(deps): lock file maintenance 2024-09-09 02:18:15 +00:00
renovate[bot]
1d9fdda44c chore(deps): update peter-evans/create-pull-request action to v7.0.1 2024-09-05 10:13:54 +00:00
renovate[bot]
ca746c1dbe chore(deps): update dependency eslint-plugin-jest to v28.8.3 2024-09-05 01:52:01 +00:00
renovate[bot]
2414c5b001 chore(deps): update dependency @types/node to v22.5.4 2024-09-04 22:46:54 +00:00
GitHub Action
e73bb10d96 Added missing changes and modified dist assets. 2024-09-04 16:04:32 +00:00
renovate[bot]
c7114f61a1 fix(deps): update dependency yaml to v2.5.1 2024-09-04 16:04:32 +00:00
renovate[bot]
38cc85fd79
chore(deps): update peter-evans/create-pull-request action to v7 (#2261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 09:17:13 -06:00
renovate[bot]
834406f361 chore(deps): update dependency @types/node to v22.5.3 2024-09-04 01:21:42 +00:00
tj-actions[bot]
5d8e41f17c
Upgraded to v45.0.1 (#2258)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-09-02 14:01:39 -06:00
renovate[bot]
a78c1f5db4 chore(deps): update dependency eslint-plugin-jest to v28.8.2 2024-09-02 04:54:05 +00:00
renovate[bot]
5977012387 chore(deps): lock file maintenance 2024-09-02 00:20:31 +00:00
renovate[bot]
e9772d1404 chore(deps): update dependency @types/node to v22.5.2 2024-09-01 13:13:15 +00:00
renovate[bot]
880354d0c6 chore(deps): update dependency eslint-plugin-jest to v28.8.1 2024-08-29 22:45:14 +00:00
dependabot[bot]
8d5497eb10
chore(deps-dev): bump @types/node from 22.5.0 to 22.5.1 (#2252)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-27 21:05:43 -06:00
GitHub Action
696bea0add Added missing changes and modified dist assets. 2024-08-26 17:28:40 -06:00
renovate[bot]
bd7d572708 chore(deps): lock file maintenance 2024-08-26 17:28:40 -06:00
GitHub Action
305db886e7 Added missing changes and modified dist assets. 2024-08-25 17:41:10 -06:00
renovate[bot]
17107f43d7 fix(deps): update dependency micromatch to v4.0.8 2024-08-25 17:41:10 -06:00
renovate[bot]
2d4c94f488 chore(deps): update dependency ts-jest to v29.2.5 2024-08-23 15:55:07 +00:00
renovate[bot]
bf02379775 chore(deps): update dependency @types/node to v22.5.0 2024-08-21 20:35:43 +00:00
tj-actions[bot]
0d320382bc
Upgraded to v45 (#2244)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-08-21 04:36:14 -06:00
tj-actions[bot]
40853de9f8
Updated README.md (#2243)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-08-21 04:07:25 -06:00
allcontributors[bot]
94b94fea13
docs: add Whadup as a contributor for code (#2239)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-08-21 03:51:32 -06:00
Lukas Pfahler
f8034fbb84
Renamed Files decomposed into Deleted: previous_filename and Added:filename (#2236)
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2024-08-21 03:50:59 -06:00
Tonye Jack
b4c0974161
fix: update test skip logic to use custom env (#2242) 2024-08-21 03:43:42 -06:00
Tonye Jack
246859db91
chore: debug env vars (#2241) 2024-08-21 03:28:01 -06:00
Tonye Jack
46a4c027a6
chore: conditionally skip certain test for foked prs (#2240)
Co-authored-by: tj-actions[bot] <109116665+tj-actions-bot@users.noreply.github.com>
2024-08-21 03:13:53 -06:00
Tonye Jack
525aabbe28
fix: remove unsupported input (#2238) 2024-08-21 02:28:27 -06:00
renovate[bot]
25b256207d chore(deps): update dependency @types/node to v22.4.2 2024-08-21 02:29:19 +00:00
renovate[bot]
257f12c17b chore(deps): update dependency @types/node to v22.4.1 2024-08-19 05:29:49 +00:00
GitHub Action
598b7212f2 Added missing changes and modified dist assets. 2024-08-18 02:30:57 +00:00
Tonye Jack
88201be733 Update tsconfig.json 2024-08-18 02:30:57 +00:00
renovate[bot]
9b7ba7b107 chore(deps): lock file maintenance 2024-08-18 02:30:57 +00:00
renovate[bot]
3ea85a1c0d fix(deps): update dependency @octokit/rest to v21.0.2 2024-08-16 22:24:38 +00:00
renovate[bot]
50693d8df5 chore(deps): update dependency @types/node to v22.4.0 2024-08-16 19:16:42 +00:00
renovate[bot]
87d8f9488b chore(deps): update dependency @types/node to v22.3.0 2024-08-14 11:20:23 +00:00
renovate[bot]
950331d47c chore(deps): update dependency @types/node to v22.2.0 2024-08-09 19:14:11 +00:00
renovate[bot]
ed00b69562 chore(deps): update dependency eslint-plugin-jest to v28.8.0 2024-08-07 20:05:11 +00:00
renovate[bot]
9d768c3d4e chore(deps): update dependency eslint-plugin-jest to v28.7.0 2024-08-04 21:03:41 +00:00
renovate[bot]
6b79c79980 chore(deps): update dependency @types/node to v22.1.0 2024-08-02 13:18:43 +00:00
renovate[bot]
99b60a2a91 chore(deps): update dependency @types/node to v22.0.3 2024-08-02 09:41:42 +00:00
renovate[bot]
8ae850f052 chore(deps): update dependency ts-jest to v29.2.4 2024-08-01 10:37:32 +00:00
tj-actions[bot]
71038002e0
Upgraded to v44.5.7 (#2218)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-07-31 14:44:00 -06:00
renovate[bot]
03d95b07db chore(deps): update dependency @types/node to v22.0.1 2024-07-31 19:50:14 +00:00
dependabot[bot]
c65cd88342
chore(deps-dev): bump @types/node from 20.14.13 to 22.0.0 (#2215)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 18:55:58 -06:00
renovate[bot]
9f928e3005 chore(deps): update typescript-eslint monorepo to v7.18.0 2024-07-29 19:48:16 +00:00
renovate[bot]
fb1b47b727 chore(deps): update dependency @types/node to v20.14.13 2024-07-28 10:21:23 +00:00
GitHub Action
a77ecbc238 Added missing changes and modified dist assets. 2024-07-27 03:56:35 +00:00
renovate[bot]
e4fe134b73 fix(deps): update dependency @stdlib/utils-convert-path to v0.2.2 2024-07-27 03:56:35 +00:00
Tonye Jack
f5a7145f2b
fix: error with pull_request closed test (#2211) 2024-07-25 01:45:53 +00:00
GitHub Action
10471793b2 Added missing changes and modified dist assets. 2024-07-24 13:14:43 +00:00
renovate[bot]
28fd03b28d fix(deps): update dependency yaml to v2.5.0 2024-07-24 13:14:43 +00:00
renovate[bot]
4db04c76fa chore(deps): update dependency @types/node to v20.14.12 2024-07-23 20:12:24 +00:00
renovate[bot]
f79274f27b chore(deps): update typescript-eslint monorepo to v7.17.0 2024-07-22 19:43:16 +00:00
tj-actions[bot]
f1d2215d5d
Upgraded to v44.5.6 (#2204)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-07-19 01:27:31 -06:00
Tonye Jack
6b2903bdce
fix: remove unused code (#2202)
Co-authored-by: GitHub Action <action@github.com>
2024-07-18 19:39:13 +00:00
renovate[bot]
dc82617b24 chore(deps): update dependency ts-jest to v29.2.3 2024-07-18 17:55:38 +00:00
renovate[bot]
1797e9a1ea chore(deps): update dependency eslint-plugin-prettier to v5.2.1 2024-07-17 11:55:44 +00:00
renovate[bot]
56b5e13a32 fix(deps): update dependency @octokit/rest to v21.0.1 2024-07-17 00:35:57 +00:00
renovate[bot]
9e63ef55ed chore(deps): update dependency @types/node to v20.14.11 2024-07-16 20:24:00 +00:00
renovate[bot]
f1afcaced6 chore(deps): update dependency @types/lodash to v4.17.7 2024-07-16 03:48:13 +00:00
renovate[bot]
e42a3d1b0a chore(deps): update typescript-eslint monorepo to v7.16.1 2024-07-15 19:58:11 +00:00
renovate[bot]
f0eedff362 chore(deps): update dependency prettier to v3.3.3 2024-07-13 12:45:50 +00:00
renovate[bot]
f6d7b721fd chore(deps): update codacy/codacy-analysis-cli-action action to v4.4.5 2024-07-12 14:41:02 +00:00
renovate[bot]
6f59461624 chore(deps): update codacy/codacy-analysis-cli-action action to v4.4.4 2024-07-11 15:55:03 +00:00
renovate[bot]
443dcaf814 chore(deps): update codacy/codacy-analysis-cli-action action to v4.4.2 2024-07-11 13:46:28 +00:00
renovate[bot]
6f8dfa84e8 chore(deps): update dependency ts-jest to v29.2.2 2024-07-10 18:30:05 +00:00
renovate[bot]
df7dd40375 chore(deps): update dependency ts-jest to v29.2.1 2024-07-10 10:08:04 +00:00
renovate[bot]
07a5a99344 chore(deps): update actions/setup-node action to v4.0.3 2024-07-09 17:00:00 +00:00
renovate[bot]
02a0746337 chore(deps): update typescript-eslint monorepo to v7.16.0 2024-07-08 20:11:01 +00:00
renovate[bot]
75ed46d235 chore(deps): update dependency ts-jest to v29.2.0 2024-07-08 17:55:08 +00:00
renovate[bot]
c8c9e91b48 chore(deps): update dependency @types/node to v20.14.10 2024-07-05 21:40:00 +00:00
renovate[bot]
8ead8a4214 chore(deps): update dependency @typescript-eslint/eslint-plugin to v7.15.0 2024-07-02 15:10:35 +00:00
dependabot[bot]
0f83d09356
chore(deps-dev): bump @typescript-eslint/parser from 7.14.1 to 7.15.0 (#2181)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-02 08:58:55 -06:00
renovate[bot]
c3dcd3e758 chore(deps): update dependency @types/micromatch to v4.0.9 2024-06-29 14:14:44 +00:00
renovate[bot]
0e9a58eebf
chore(deps): update actions/checkout action to v4 (#2174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-28 19:13:31 -06:00
renovate[bot]
2295558b65 chore(deps): update actions/checkout action to v3 2024-06-28 14:17:31 +00:00
renovate[bot]
68447960ff chore(deps): update dependency @types/lodash to v4.17.6 2024-06-27 16:25:36 +00:00
renovate[bot]
00518ab39d chore(deps): update dependency @types/micromatch to v4.0.8 2024-06-26 12:15:24 +00:00
renovate[bot]
2c2260e690 chore(deps): update dependency @types/node to v20.14.9 2024-06-25 23:37:29 +00:00
tj-actions[bot]
9adb9156b8
Upgraded to v44.5.5 (#2168)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-06-25 13:42:08 +00:00
renovate[bot]
d1d479f03c chore(deps): update typescript-eslint monorepo to v7.14.1 2024-06-24 18:47:49 +00:00
Tonye Jack
cc733854b1
chore: remove debug lines (#2166)
Co-authored-by: GitHub Action <action@github.com>
2024-06-24 10:06:44 -06:00
tj-actions[bot]
0b99ecfd4e
Upgraded to v44.5.4 (#2165)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-06-24 10:06:30 -06:00
Tonye Jack
cc3bbb0c52
fix: error using since_last_remote_commit with the first PR commit (#2163)
Co-authored-by: tj-actions[bot] <109116665+tj-actions-bot@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-06-23 01:03:16 -06:00
renovate[bot]
373db58d9d chore(deps): update dependency @types/node to v20.14.8 2024-06-22 08:54:44 +00:00
dependabot[bot]
9161a8dcde
chore(deps-dev): bump @types/uuid from 9.0.8 to 10.0.0 (#2160)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-21 22:52:36 -06:00
tj-actions[bot]
e13fb92d45
Upgraded to v44.5.3 (#2154)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-06-21 21:41:51 -06:00
renovate[bot]
7891350b8e
fix(deps): update dependency @octokit/rest to v21 (#2158)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-06-21 21:41:32 -06:00
renovate[bot]
457e041909 chore(deps): update dependency @types/node to v20.14.7 2024-06-20 23:31:52 +00:00
renovate[bot]
eaf854ef0c chore(deps): update dependency @types/node to v20.14.6 2024-06-19 18:37:27 +00:00
renovate[bot]
681bf92506 chore(deps): update peter-evans/create-pull-request action to v6.1.0 2024-06-18 19:25:32 +00:00
renovate[bot]
3ec883ad31 chore(deps): update dependency @types/node to v20.14.5 2024-06-18 08:47:13 +00:00
renovate[bot]
e5740c1ffc chore(deps): update dependency @types/node to v20.14.4 2024-06-18 01:42:32 +00:00
renovate[bot]
bbe7f7b544 chore(deps): update dependency @types/node to v20.14.3 2024-06-17 22:19:15 +00:00
renovate[bot]
205913dc0c chore(deps): update typescript-eslint monorepo to v7.13.1 2024-06-17 19:02:52 +00:00
renovate[bot]
dd73690e2e chore(deps): lock file maintenance 2024-06-17 00:54:47 +00:00
renovate[bot]
c226cd45e5 chore(deps): update dependency ts-jest to v29.1.5 2024-06-16 16:54:00 +00:00
renovate[bot]
facb2785cd chore(deps): update dependency prettier to v3.3.2 2024-06-11 07:55:13 +00:00
Tonye Jack
4b558a92db
chore: Update README.md (#2139) 2024-06-10 13:47:52 -06:00
renovate[bot]
5f68aa8f2d chore(deps): update typescript-eslint monorepo to v7.13.0 2024-06-10 18:14:05 +00:00
renovate[bot]
0da22a2fef chore(deps): lock file maintenance 2024-06-10 00:40:53 +00:00
GitHub Action
2972fe4d6b Added missing changes and modified dist assets. 2024-06-08 22:06:16 +00:00
renovate[bot]
57a81a39f3 fix(deps): update dependency yaml to v2.4.5 2024-06-08 22:06:16 +00:00
GitHub Action
1d8732f877 Added missing changes and modified dist assets. 2024-06-08 19:09:04 +00:00
renovate[bot]
3de07763cf fix(deps): update dependency yaml to v2.4.4 2024-06-08 19:09:04 +00:00
renovate[bot]
b53f3b80e1 chore(deps): update dependency @types/lodash to v4.17.5 2024-06-08 10:10:13 +00:00
renovate[bot]
4f8f7b39ce chore(deps): update dependency eslint-plugin-jest to v28.6.0 2024-06-06 23:24:37 +00:00
renovate[bot]
ff86e79932 chore(deps): update dependency prettier to v3.3.1 2024-06-05 10:43:54 +00:00
renovate[bot]
14c7f454e7 chore(deps): update dependency @types/node to v20.14.2 2024-06-05 10:31:58 +00:00
renovate[bot]
cda0f1d381 chore(deps): update dependency eslint-plugin-github to v5.0.1 2024-06-04 23:08:52 +00:00
renovate[bot]
d44c8e3205 chore(deps): update dependency @types/node to v20.14.1 2024-06-04 01:02:53 +00:00
renovate[bot]
6b3dabec4c chore(deps): update typescript-eslint monorepo to v7.12.0 2024-06-03 18:44:25 +00:00
renovate[bot]
bce8e36722
chore(deps): update dependency eslint-plugin-github to v5 (#2126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 16:40:52 +00:00
renovate[bot]
b376795801 chore(deps): lock file maintenance 2024-06-03 12:39:52 +00:00
renovate[bot]
d41df78c17
chore(deps): update tj-actions/eslint-changed-files action to v25 (#2125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 12:27:44 +00:00
Tonye Jack
4ae1154663
chore: downgrade tj-actions/eslint-changed-files pending move to eslint 9 (#2124)
Co-authored-by: GitHub Action <action@github.com>
2024-06-03 06:08:32 -06:00
renovate[bot]
60268df189
fix(deps): update dependency yaml to v2.4.3 (#2120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-02 20:35:23 -06:00
renovate[bot]
f52993ba02 chore(deps): update dependency @types/node to v20.14.0 2024-06-02 22:31:32 +00:00
renovate[bot]
3b13fed1b0 chore(deps): update dependency prettier to v3.3.0 2024-06-01 19:41:52 +00:00
renovate[bot]
338ea071b0 chore(deps): update dependency @types/node to v20.12.14 2024-05-31 19:43:46 +00:00
tj-actions[bot]
25cb66210f
Upgraded to v44.5.2 (#2116)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-05-30 05:22:17 +00:00
Tonye Jack
d6babd6899
fix: warning with fetch_missing_history_max_retries using REST API (#2114) 2024-05-30 05:05:34 +00:00
renovate[bot]
0a79e54e1f chore(deps): update dependency @types/node to v20.12.13 2024-05-29 19:47:23 +00:00
renovate[bot]
9d06a2a6a9 chore(deps): update dependency ts-jest to v29.1.4 2024-05-28 07:10:44 +00:00
renovate[bot]
7e8e88bd35 chore(deps): update typescript-eslint monorepo to v7.11.0 2024-05-27 22:39:58 +00:00
renovate[bot]
b510737b96 chore(deps): lock file maintenance 2024-05-27 15:52:00 +00:00
renovate[bot]
2e70979353 chore(deps): lock file maintenance 2024-05-27 02:35:45 +00:00
tj-actions[bot]
625929d27d
Upgraded to v44.5.1 (#2108)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-05-24 04:56:51 +00:00
Tonye Jack
03334d095e
fix: bug detecting previous tag when workflow is rerun (#2107)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 04:46:34 +00:00
GitHub Action
8a0655f075 Added missing changes and modified dist assets. 2024-05-22 11:55:42 +00:00
renovate[bot]
98e187efcd fix(deps): update dependency micromatch to v4.0.7 2024-05-22 11:55:42 +00:00
GitHub Action
96f65726ea Added missing changes and modified dist assets. 2024-05-21 17:28:01 +00:00
renovate[bot]
bf548e4af2 fix(deps): update dependency micromatch to v4.0.6 2024-05-21 17:28:01 +00:00
tj-actions[bot]
8b07fd3b11
Upgraded to v44.5.0 (#2101)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-05-21 09:59:35 -06:00
renovate[bot]
d195e6e7c2 chore(deps): update dependency ts-jest to v29.1.3 2024-05-21 04:54:11 +00:00
tj-actions[bot]
1754cd4b9e
Updated README.md (#2099)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-05-20 22:21:52 -06:00
Tonye Jack
03c184259a
feat: add support for providing patterns to match tags (#2098)
Co-authored-by: GitHub Action <action@github.com>
2024-05-21 04:17:52 +00:00
renovate[bot]
5f0139347a chore(deps): update typescript-eslint monorepo to v7.10.0 2024-05-20 22:14:31 +00:00
renovate[bot]
58a98867a7 chore(deps): update dependency @types/lodash to v4.17.4 2024-05-17 05:16:35 +00:00
renovate[bot]
9216b0cec2 chore(deps): update dependency @types/lodash to v4.17.3 2024-05-16 21:22:57 +00:00
renovate[bot]
0e3a6c3e99 chore(deps): update dependency @types/node to v20.12.12 2024-05-14 09:26:49 +00:00
renovate[bot]
e86678fe3a chore(deps): update typescript-eslint monorepo to v7.9.0 2024-05-13 20:27:08 +00:00
renovate[bot]
35d5a4d79f chore(deps): lock file maintenance 2024-05-13 01:27:13 +00:00
tj-actions[bot]
887f93673c
Upgraded to v44.4.0 (#2086)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-05-12 20:23:48 +00:00
renovate[bot]
a29e8b5656 chore(deps): update dependency @types/node to v20.12.11 2024-05-08 13:08:12 +00:00
renovate[bot]
5a127050b2 chore(deps): update codacy/codacy-analysis-cli-action action to v4.4.1 2024-05-08 11:24:48 +00:00
renovate[bot]
581934340b chore(deps): update dependency @types/node to v20.12.10 2024-05-06 20:38:32 +00:00
renovate[bot]
5587afbef7 chore(deps): update dependency @types/node to v20.12.9 2024-05-06 16:06:25 +00:00
renovate[bot]
0f039f361b chore(deps): lock file maintenance 2024-05-06 00:55:37 +00:00
renovate[bot]
6d4230d4f0
chore(deps): update tj-actions/verify-changed-files action to v20 (#2079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-04 17:01:00 +00:00
renovate[bot]
1711887607 chore(deps): update dependency @types/lodash to v4.17.1 2024-05-04 10:31:51 +00:00
GitHub Action
c393672835 Added missing changes and modified dist assets. 2024-05-03 21:36:59 +00:00
renovate[bot]
396e5a51d5 fix(deps): update dependency @octokit/rest to v20.1.1 2024-05-03 21:36:59 +00:00
renovate[bot]
47a2d62412 chore(deps): update dependency eslint-plugin-jest to v28.5.0 2024-05-03 21:28:22 +00:00
renovate[bot]
c73b12cc6d chore(deps): update dependency eslint-plugin-jest to v28.4.0 2024-05-03 03:20:34 +00:00
dependabot[bot]
41ce994be9
chore(deps-dev): bump @types/node from 20.12.7 to 20.12.8 (#2074)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 01:38:04 +00:00
renovate[bot]
192e174507 chore(deps): lock file maintenance 2024-05-01 13:48:00 +00:00
renovate[bot]
5e85e31a01 chore(deps): update typescript-eslint monorepo to v7.8.0 2024-04-29 19:04:36 +00:00
renovate[bot]
7871e848ad chore(deps): lock file maintenance 2024-04-29 01:36:07 +00:00
GitHub Action
15fa7fb955 Added missing changes and modified dist assets. 2024-04-28 10:28:51 +00:00
renovate[bot]
1c5b7dc5f4 fix(deps): update dependency yaml to v2.4.2 2024-04-28 10:28:51 +00:00
renovate[bot]
4765b9f775
chore(deps): update tj-actions/eslint-changed-files action to v25 (#2069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-28 07:23:14 +00:00
tj-actions[bot]
0c82494d63
Updated README.md (#2068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-27 10:01:05 +00:00
renovate[bot]
7d02310f6e chore(deps): update dependency eslint-plugin-jest to v28.3.0 2024-04-27 09:50:02 +00:00
renovate[bot]
0df48f8409 chore(deps): update peter-evans/create-pull-request action to v6.0.5 2024-04-25 10:44:21 +00:00
renovate[bot]
b76e23c88a chore(deps): update typescript-eslint monorepo to v7.7.1 2024-04-22 17:40:54 +00:00
renovate[bot]
549c203ec2 chore(deps): lock file maintenance 2024-04-22 01:39:30 +00:00
tj-actions[bot]
cee950d742
Updated README.md (#2061)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-20 04:26:05 +00:00
Tonye Jack
44ce9f4341
feat: reduce the default fetch_depth from 50 to 25 and increase fetch_missing_history_max_retries (#2060) 2024-04-20 04:15:07 +00:00
tj-actions[bot]
7b65c377b1
Updated README.md (#2059)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-18 15:18:18 -06:00
Tonye Jack
532b66aa5c
Update action.yml 2024-04-18 15:09:11 -06:00
tj-actions[bot]
d9384bba72
Upgraded to v44.3.0 (#2058)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-18 15:07:59 -06:00
tj-actions[bot]
461ea4f9bf
Updated README.md (#2057)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-18 15:04:48 -06:00
Tonye Jack
0874344d6e
feat: add support for returning posix path separator on windows (#2056)
Co-authored-by: GitHub Action <action@github.com>
2024-04-18 15:03:38 -06:00
Tonye Jack
9f8300f8b4
fix: add a fallback value for the max number for retries to fetch missing history (#2055)
Co-authored-by: GitHub Action <action@github.com>
2024-04-18 19:12:36 +00:00
tj-actions[bot]
a06b9e80ae
Upgraded to v44.2.0 (#2054)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-18 13:02:55 -06:00
tj-actions[bot]
4c5f5d698f
Updated README.md (#2053)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-18 12:52:38 -06:00
Tonye Jack
07c64e5618
feat: add support for specifying the max number for retries to fetch missing history (#2052)
Co-authored-by: GitHub Action <action@github.com>
2024-04-18 12:45:07 -06:00
tj-actions[bot]
5bd333239b
Upgraded to v44.1.0 (#2050)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-17 16:40:08 +00:00
tj-actions[bot]
831e892562
Updated README.md (#2049)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-04-17 10:26:15 -06:00
Tonye Jack
e052d30e1c
feat: add option to exclude submodules when detecting changes (#2047)
Co-authored-by: GitHub Action <action@github.com>
2024-04-17 16:24:26 +00:00
renovate[bot]
23a449039c chore(deps): update peter-evans/create-pull-request action to v6.0.4 2024-04-17 14:08:27 +00:00
renovate[bot]
60e2739e15 chore(deps): update typescript-eslint monorepo to v7.7.0 2024-04-15 19:13:52 +00:00
renovate[bot]
0f319d7425 chore(deps): lock file maintenance 2024-04-15 03:20:08 +00:00
GitHub Action
d477ae513d Added missing changes and modified dist assets. 2024-04-15 02:12:15 +00:00
renovate[bot]
5891cbdfd5 chore(deps): lock file maintenance 2024-04-15 02:12:15 +00:00
renovate[bot]
c9eaa5c000 chore(deps): update dependency @types/micromatch to v4.0.7 2024-04-13 20:46:50 +00:00
renovate[bot]
fd91508dbb chore(deps): update peter-evans/create-pull-request action to v6.0.3 2024-04-12 11:18:54 +00:00
renovate[bot]
e8a7e82269 chore(deps): update dependency typescript to v5.4.5 2024-04-10 15:33:05 +00:00
tj-actions[bot]
159b05372c
Upgraded to v44.0.1 (#2037)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-04-09 23:54:32 +00:00
renovate[bot]
635f118699 chore(deps): update dependency @types/node to v20.12.7 2024-04-09 22:45:21 +00:00
renovate[bot]
634b61511e chore(deps): update dependency @types/node to v20.12.6 2024-04-09 07:28:13 +00:00
renovate[bot]
77fcf43160 chore(deps): update typescript-eslint monorepo to v7.6.0 2024-04-08 19:14:43 +00:00
GitHub Action
5f084a52a4 Added missing changes and modified dist assets. 2024-04-08 14:42:53 +00:00
renovate[bot]
ff2cb1b4f2 chore(deps): lock file maintenance 2024-04-08 14:42:53 +00:00
renovate[bot]
5d5da31340 chore(deps): update dependency eslint-plugin-jest to v28.2.0 2024-04-07 02:26:15 +00:00
renovate[bot]
29bc0d3fd9 chore(deps): update dependency eslint-plugin-jest to v28.1.1 2024-04-06 23:12:23 +00:00
renovate[bot]
c9f9d5784e
chore(deps): update dependency eslint-plugin-jest to v28 (#2030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-06 10:04:57 +00:00
renovate[bot]
a4fba0109c chore(deps): update dependency @types/node to v20.12.5 2024-04-05 23:24:24 +00:00
dependabot[bot]
8a6546164a
chore(deps): bump undici from 5.28.3 to 5.28.4 (#2026)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-04-04 18:55:07 +00:00
renovate[bot]
bad2eb6859 chore(deps): update dependency typescript to v5.4.4 2024-04-04 18:45:28 +00:00
renovate[bot]
b2dbd4264a chore(deps): update dependency @types/node to v20.12.4 2024-04-04 00:49:09 +00:00
renovate[bot]
57d40e662d fix(deps): update dependency @octokit/rest to v20.1.0 2024-04-03 20:00:38 +00:00
renovate[bot]
185549c022 chore(deps): update dependency @types/node to v20.12.3 2024-04-02 22:09:40 +00:00
renovate[bot]
f853fd0592 chore(deps): update typescript-eslint monorepo to v7.5.0 2024-04-02 00:11:13 +00:00
renovate[bot]
cd3c6e6bbd chore(deps): lock file maintenance 2024-04-01 00:51:33 +00:00
renovate[bot]
e5ce44a301 chore(deps): update dependency @types/node to v20.12.2 2024-03-30 07:12:07 +00:00
renovate[bot]
ccdcd17ffd
chore(deps): update tj-actions/eslint-changed-files action to v24 (#2019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-29 14:37:20 +00:00
tj-actions[bot]
e4b8dafc5d
Upgraded to v44 (#2017)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-26 20:33:57 -06:00
tj-actions[bot]
2d756ea4c5
Updated README.md (#2016)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-26 19:52:24 -06:00
tonyejack1
ce497c39e9
chore: update description of outputs removing asterisks (#2015) 2024-03-26 19:50:35 -06:00
Tonye Jack
2d21bbb405
Update README.md 2024-03-26 19:32:02 -06:00
Tonye Jack
90941b398f
remove: unused code (#2014) 2024-03-26 22:49:39 +00:00
tj-actions[bot]
2ca8dc42f6
Updated README.md (#2013)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-26 16:16:41 -06:00
tonyejack1
ee096d679e
chore: update description of other_deleted_files output (#2008)
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2024-03-26 16:15:39 -06:00
tonyejack1
4621617d4b
Update README.md 2024-03-26 13:31:35 -06:00
Tonye Jack
4bbd49b998
fix: ensure the fork remote doesn't exists before creating it (#2012)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 19:12:21 +00:00
Tonye Jack
c6557ed000
Update README.md 2024-03-26 12:50:59 -06:00
Tonye Jack
f0e7702ccc
fix: update previos sha for forks (#2011)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 18:46:29 +00:00
Tonye Jack
6354e6c542
fix: update to add the fork remote (#2010) 2024-03-26 18:28:16 +00:00
Tonye Jack
117616472f
fix: check for setting remote urls for forks (#2009) 2024-03-26 12:10:44 -06:00
Tonye Jack
4ff79362e5
fix: bug with prs from forks returning incorrect set of changed files (#2007)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 11:47:25 -06:00
Tonye Jack
0713a11242
Update README.md 2024-03-26 11:42:41 -06:00
renovate[bot]
064742427d chore(deps): update typescript-eslint monorepo to v7.4.0 2024-03-25 19:10:31 +00:00
renovate[bot]
efe5e6c7a4 chore(deps): lock file maintenance 2024-03-25 01:33:42 +00:00
tj-actions[bot]
01e9662a12
Upgraded to v43.0.1 (#2004)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-21 00:42:37 +00:00
renovate[bot]
20576b4b9e chore(deps): update dependency typescript to v5.4.3 2024-03-20 21:58:07 +00:00
Tonye Jack
077b23f6a6
fix: remove warning with detecting the local git repository when using Github's REST API (#2002)
Co-authored-by: GitHub Action <action@github.com>
2024-03-20 19:20:51 +00:00
Tonye Jack
02768050b1
chore: update inputs.ts adding comment about fetch_depth (#2000) 2024-03-20 14:29:59 +00:00
renovate[bot]
427adf47f0 chore(deps): update dependency @types/node to v20.11.30 2024-03-19 13:28:54 +00:00
dependabot[bot]
5c6aa49478
Bump @typescript-eslint/eslint-plugin from 7.3.0 to 7.3.1 (#1995)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-03-18 22:27:06 -06:00
renovate[bot]
aa0b62a2d0 chore(deps): update dependency @typescript-eslint/eslint-plugin to v7.3.1 2024-03-19 02:09:15 +00:00
dependabot[bot]
0320702dd5
Bump @typescript-eslint/parser from 7.3.0 to 7.3.1 (#1996)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 01:47:18 +00:00
renovate[bot]
38903688b4 chore(deps): update dependency @types/node to v20.11.29 2024-03-18 21:43:53 +00:00
renovate[bot]
98a74d2cd6 chore(deps): update typescript-eslint monorepo to v7.3.0 2024-03-18 17:46:43 +00:00
renovate[bot]
068000d9c6 chore(deps): lock file maintenance 2024-03-18 02:16:34 +00:00
renovate[bot]
490ac3999e chore(deps): update dependency @types/node to v20.11.28 2024-03-15 10:23:14 +00:00
Tonye Jack
2859a60726
Update README.md 2024-03-13 21:43:22 -06:00
tj-actions[bot]
d03038e4e4
Upgraded to v43 (#1990)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-13 17:06:28 -06:00
tj-actions[bot]
77af4bed28
Updated README.md (#1989)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-03-13 22:28:45 +00:00
Tonye Jack
a5cf6aa30c
feat: add support for returning true for any_{changed, modified, deleted} outputs when no patterns are specified (#1988)
Co-authored-by: GitHub Action <action@github.com>
2024-03-13 22:19:50 +00:00
renovate[bot]
15807c9c84 chore(deps): update dependency @types/node to v20.11.27 2024-03-13 16:39:47 +00:00
renovate[bot]
dc458cf753 chore(deps): update peter-evans/create-pull-request action to v6.0.2 2024-03-12 16:01:39 +00:00
renovate[bot]
92ca3eebd0 chore(deps): update dependency @types/lodash to v4.17.0 2024-03-12 11:21:16 +00:00
renovate[bot]
f591d0c7f0 chore(deps): update dependency @typescript-eslint/eslint-plugin to v7.2.0 2024-03-11 23:32:55 +00:00
renovate[bot]
35023362e2 chore(deps): update dependency @types/node to v20.11.26 2024-03-11 23:20:54 +00:00
renovate[bot]
e436cb6d85 chore(deps): update dependency @typescript-eslint/parser to v7.2.0 2024-03-11 18:12:31 +00:00
renovate[bot]
257d47dfba chore(deps): lock file maintenance 2024-03-11 01:16:09 +00:00
tj-actions[bot]
4918e11830
Upgraded to v42.1.0 (#1977)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-09 20:14:28 +00:00
tj-actions[bot]
aa08304bd4
Updated README.md (#1976)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-03-09 01:29:44 +00:00
Tonye Jack
008ba8ceec
feat: add matrix alias to simplify using outputs for matrix jobs (#1975)
Co-authored-by: GitHub Action <action@github.com>
2024-03-09 01:20:45 +00:00
tj-actions[bot]
fe6c3ea0ca
Upgraded to v42.0.7 (#1974)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-07 22:21:22 +00:00
GitHub Action
7fc073d922 Added missing changes and modified dist assets. 2024-03-07 22:11:09 +00:00
renovate[bot]
7e4bfc2f1f chore(deps): lock file maintenance 2024-03-07 22:11:09 +00:00
Tonye Jack
ef3a7f51d6
chore: add test for detecting changed-files in a nested directory (#1972) 2024-03-07 21:34:48 +00:00
Tonye Jack
a65c2f2100
Update README.md 2024-03-06 21:25:13 -07:00
GitHub Action
ea042d8095 Added missing changes and modified dist assets. 2024-03-06 18:49:07 +00:00
renovate[bot]
8293f8c984 chore(deps): update dependency typescript to v5.4.2 2024-03-06 18:49:07 +00:00
renovate[bot]
0ff732eeb3 chore(deps): update dependency @types/node to v20.11.25 2024-03-06 18:39:17 +00:00
tj-actions[bot]
8df6fc260f
Upgraded to v42.0.6 (#1968)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-03-06 16:42:51 +00:00
GitHub Action
d516645658 Added missing changes and modified dist assets. 2024-03-06 12:50:33 +00:00
renovate[bot]
2c97e7ea24 fix(deps): update dependency yaml to v2.4.1 2024-03-06 12:50:33 +00:00
renovate[bot]
1c8e606958 chore(deps): update typescript-eslint monorepo to v7.1.1 2024-03-04 18:15:53 +00:00
GitHub Action
74605cb326 Added missing changes and modified dist assets. 2024-03-04 00:18:25 +00:00
renovate[bot]
aa15b58e8a chore(deps): lock file maintenance 2024-03-04 00:18:25 +00:00
renovate[bot]
0a392e7438 chore(deps): update dependency eslint-plugin-github to v4.10.2 2024-02-29 23:36:05 +00:00
renovate[bot]
85efc7df8e chore(deps): update dependency @types/node to v20.11.24 2024-02-29 18:22:25 +00:00
renovate[bot]
2a095d24c2 chore(deps): update dependency @types/node to v20.11.23 2024-02-29 12:45:48 +00:00
renovate[bot]
ac3dc5e392
chore(deps): update tj-actions/verify-changed-files action to v19 (#1960)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 01:16:44 +00:00
renovate[bot]
dd7e9d3b17 chore(deps): update dependency @types/node to v20.11.22 2024-02-28 20:16:24 +00:00
renovate[bot]
0647a31f54 chore(deps): update peter-evans/create-pull-request action to v6.0.1 2024-02-28 04:49:44 +00:00
renovate[bot]
9d67dd3dbe chore(deps): update dependency @types/node to v20.11.21 2024-02-28 00:41:14 +00:00
renovate[bot]
5acd7e3646 chore(deps): update typescript-eslint monorepo to v7.1.0 2024-02-26 20:18:46 +00:00
tj-actions[bot]
9f4af73d05
Upgraded to v42.0.5 (#1955)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-02-26 07:25:53 +00:00
renovate[bot]
800a282599 chore(deps): lock file maintenance 2024-02-26 02:02:02 +00:00
GitHub Action
31c4d150e6 Added missing changes and modified dist assets. 2024-02-25 16:58:14 +00:00
renovate[bot]
2a2a5b6b9c fix(deps): update dependency yaml to v2.4.0 2024-02-25 16:58:14 +00:00
Tonye Jack
d8dcc13244
chore: Update README.md (#1952) 2024-02-25 16:48:32 +00:00
renovate[bot]
639ce0e105 chore(deps): update dependency eslint to v8.57.0 2024-02-23 22:38:47 +00:00
GitHub Action
9d447b9959 Added missing changes and modified dist assets. 2024-02-23 04:24:39 +00:00
renovate[bot]
83bfc72efa chore(deps): lock file maintenance 2024-02-23 04:24:39 +00:00
renovate[bot]
879c8388c8 chore(deps): update dependency @types/node to v20.11.20 2024-02-22 19:58:37 +00:00
Tonye Jack
bb7502bd15
Update README.md 2024-02-21 07:20:22 -07:00
renovate[bot]
5c5539ced9 chore(deps): update typescript-eslint monorepo to v7.0.2 2024-02-19 19:54:17 +00:00
GitHub Action
c2039de114 Added missing changes and modified dist assets. 2024-02-19 00:16:07 +00:00
renovate[bot]
0cbc9bc448 chore(deps): lock file maintenance 2024-02-19 00:16:07 +00:00
tj-actions[bot]
9ef20a69dd
Updated README.md (#1943)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-02-18 05:12:36 +00:00
Tonye Jack
a617853c0f
chore: update action.yml (#1942) 2024-02-17 21:58:39 -07:00
tj-actions[bot]
5c1bceb76c
Upgraded to v42.0.4 (#1941)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-02-18 03:31:45 +00:00
30 changed files with 20540 additions and 7403 deletions

View File

@ -245,6 +245,15 @@
"code", "code",
"bug" "bug"
] ]
},
{
"login": "Whadup",
"name": "Lukas Pfahler",
"avatar_url": "https://avatars.githubusercontent.com/u/2308119?v=4",
"profile": "https://lukaspfahler.de",
"contributions": [
"code"
]
} }
], ],
"contributorsPerLine": 7, "contributorsPerLine": 7,

View File

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

View File

@ -24,8 +24,7 @@ jobs:
id: changed-files id: changed-files
uses: ./ uses: ./
with: with:
json: true matrix: true
escape_json: false
- name: List all changed files - name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}' run: echo '${{ steps.changed-files.outputs.all_changed_files }}'

View File

@ -37,7 +37,7 @@ jobs:
- name: Run git-cliff - name: Run git-cliff
uses: tj-actions/git-cliff@v1 uses: tj-actions/git-cliff@v1
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.0 uses: peter-evans/create-pull-request@v7.0.5
with: with:
base: "main" base: "main"
labels: "merge when passing" labels: "merge when passing"

View File

@ -45,7 +45,7 @@ jobs:
repository: ${{ github.event.pull_request.head.repo.full_name }} repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Use Node.js 20.x - name: Use Node.js 20.x
uses: actions/setup-node@v4.0.2 uses: actions/setup-node@v4.1.0
with: with:
cache: 'yarn' cache: 'yarn'
node-version: '20.x' node-version: '20.x'
@ -60,7 +60,7 @@ jobs:
yarn install yarn install
- name: Run eslint on changed files - name: Run eslint on changed files
uses: tj-actions/eslint-changed-files@v23 uses: tj-actions/eslint-changed-files@v25
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
with: with:
token: ${{ secrets.PAT_TOKEN }} token: ${{ secrets.PAT_TOKEN }}
@ -70,9 +70,12 @@ jobs:
- name: Run build and test - name: Run build and test
run: | run: |
yarn all yarn all
env:
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
- name: Verify Changed files - name: Verify Changed files
uses: tj-actions/verify-changed-files@v18 uses: tj-actions/verify-changed-files@v20
if: github.actor != 'dependabot[bot]'
id: changed_files id: changed_files
with: with:
files: | files: |
@ -567,6 +570,43 @@ jobs:
shell: shell:
bash bash
test-dir-names-nested-folder:
name: Test changed-files with dir-names in a nested folder
runs-on: ubuntu-latest
needs: build
if: needs.build.outputs.files_changed != 'true'
permissions:
contents: read
steps:
- name: Checkout branch
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
fetch-depth: 0
- name: Download build assets
uses: actions/download-artifact@v4
with:
name: build-assets
path: dist
- name: Get changed files in the .github folder
id: changed-files
uses: ./
with:
path: .github
json: true
escape_json: false
dir_names: true
dir_names_exclude_current_dir: true
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
test-non-existing-repository: test-non-existing-repository:
name: Test changed-files with non existing repository name: Test changed-files with non existing repository
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -645,6 +685,27 @@ jobs:
echo "${{ toJSON(steps.changed-files.outputs) }}" echo "${{ toJSON(steps.changed-files.outputs) }}"
shell: shell:
bash bash
- name: Run changed-files excluding submodule
id: changed-files-exclude-submodule
uses: ./
with:
base_sha: "85bd869"
sha: "adde7bb"
fetch_depth: 60000
exclude_submodules: true
- name: Verify no added files
if: steps.changed-files-exclude-submodule.outputs.added_files != ''
run: |
echo "Expected: ('') got ${{ steps.changed-files-exclude-submodule.outputs.added_files }}"
exit 1
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-exclude-submodule.outputs) }}"
shell:
bash
test-yaml: test-yaml:
name: Test changed-files with yaml name: Test changed-files with yaml
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -699,6 +760,24 @@ jobs:
shell: shell:
bash bash
- name: Run changed-files with files_yaml, files_ignore_yaml
id: changed-files-ignore
uses: ./
with:
files_yaml: |
test:
- test/**.txt
- test/**.md
files_ignore_yaml: |
test:
- test/test.txt
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-ignore.outputs) }}"
shell:
bash
- name: Run changed-files with files_yaml, json and write_output_files - name: Run changed-files with files_yaml, json and write_output_files
id: changed-files-json-write-output-files id: changed-files-json-write-output-files
uses: ./ uses: ./
@ -951,8 +1030,11 @@ jobs:
bash bash
test-dir-names-deleted-files-include-only-deleted-dirs-directory: test-dir-names-deleted-files-include-only-deleted-dirs-directory:
name: Test dir names deleted files include only deleted dirs name: Test dir names deleted files include only deleted dirs
runs-on: ubuntu-latest runs-on: ${{ matrix.platform }}
needs: build needs: build
strategy:
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
if: needs.build.outputs.files_changed != 'true' if: needs.build.outputs.files_changed != 'true'
permissions: permissions:
contents: read contents: read
@ -960,7 +1042,7 @@ jobs:
- name: Checkout branch - name: Checkout branch
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
ref: cd1e384723e4d1a184568182ac2b27c53ebf017f ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }} repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true submodules: true
fetch-depth: 2 fetch-depth: 2
@ -972,6 +1054,7 @@ jobs:
sha: cd1e384723e4d1a184568182ac2b27c53ebf017f sha: cd1e384723e4d1a184568182ac2b27c53ebf017f
dir_names: true dir_names: true
dir_names_deleted_files_include_only_deleted_dirs: true dir_names_deleted_files_include_only_deleted_dirs: true
fetch_depth: 60000
- name: Show output - name: Show output
run: | run: |
echo '${{ toJSON(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs) }}' echo '${{ toJSON(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs) }}'
@ -991,6 +1074,35 @@ jobs:
exit 1 exit 1
shell: shell:
bash bash
- name: Run changed-files with dir_names and dir_names_deleted_files_include_only_deleted_dirs with the test directory deleted returns posix path separator
id: changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory-posix-path-separator
uses: ./
with:
base_sha: a52f8621d26d5d9f54b80f74bda2d9eedff94693
sha: cd1e384723e4d1a184568182ac2b27c53ebf017f
dir_names: true
dir_names_deleted_files_include_only_deleted_dirs: true
use_posix_path_separator: true
fetch_depth: 60000
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory-posix-path-separator.outputs) }}'
shell:
bash
- name: Check deleted_files output on non windows platform
if: steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory-posix-path-separator.outputs.deleted_files != 'test/test3' && runner.os != 'Windows'
run: |
echo "Invalid output: Expected (test/test3) got (${{ steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory-posix-path-separator.outputs.deleted_files }})"
exit 1
shell:
bash
- name: Check deleted_files output on windows platform
if: "!contains(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory-posix-path-separator.outputs.deleted_files, 'test/test3') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected (test/test3) got (${{ steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory-posix-path-separator.outputs.deleted_files }})"
exit 1
shell:
bash
test-since-last-remote-commit: test-since-last-remote-commit:
name: Test changed-files since last remote commit name: Test changed-files since last remote commit
@ -1026,10 +1138,10 @@ jobs:
with: with:
since_last_remote_commit: true since_last_remote_commit: true
- name: Verify failed - name: Verify succeeded pull_request(closed)
if: steps.changed-files-since-last-remote-commit.outcome != 'failure' && matrix.fetch-depth == 1 && github.event.action == 'closed' && github.event_name == 'pull_request' if: steps.changed-files-since-last-remote-commit.outcome != 'success' && matrix.fetch-depth == 1 && github.event.action == 'closed' && github.event_name == 'pull_request'
run: | run: |
echo "Expected: (failure) got ${{ steps.changed-files-since-last-remote-commit.outcome }}" echo "Expected: (success) got ${{ steps.changed-files-since-last-remote-commit.outcome }}"
exit 1 exit 1
- name: Verify succeeded - name: Verify succeeded

View File

@ -27,7 +27,7 @@ jobs:
uses: tj-actions/remark@v3 uses: tj-actions/remark@v3
- name: Verify Changed files - name: Verify Changed files
uses: tj-actions/verify-changed-files@v18 uses: tj-actions/verify-changed-files@v20
id: verify_changed_files id: verify_changed_files
with: with:
files: | files: |
@ -41,7 +41,7 @@ jobs:
- name: Create Pull Request - name: Create Pull Request
if: failure() if: failure()
uses: peter-evans/create-pull-request@v6 uses: peter-evans/create-pull-request@v7
with: with:
base: "main" base: "main"
labels: "merge when passing" labels: "merge when passing"

1158
HISTORY.md

File diff suppressed because it is too large Load Diff

400
README.md
View File

@ -1,7 +1,7 @@
[![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) [![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) [![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) [![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) [![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%26package_id%3DUGFja2FnZS0yOTQyNTU4MDk5%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/4fe2f49c3ab144b0bbe4effc85a061a0)](https://app.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=gh\&utm_medium=referral\&utm_content=\&utm_campaign=Badge_grade) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/4fe2f49c3ab144b0bbe4effc85a061a0)](https://app.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=gh\&utm_medium=referral\&utm_content=\&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) [![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)
@ -9,7 +9,7 @@
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-26-orange.svg?style=flat-square)](#contributors-) [![All Contributors](https://img.shields.io/badge/all_contributors-27-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END --> <!-- ALL-CONTRIBUTORS-BADGE:END -->
@ -19,9 +19,9 @@ Effortlessly track all changed files and directories relative to a target branch
> \[!NOTE] > \[!NOTE]
> >
> * This action solely identifies files that have changed within the context of events such as `pull_request*`, `push`, and more. However, it doesn't detect pending uncommitted changes created during the workflow execution. > * This action solely identifies files that have changed for events such as [`pull_request*`, `push`, `merge_group`, `release`, and many more](#other-supported-events-electron). However, it doesn't detect pending uncommitted changes created during the workflow execution.
> >
> See: https://github.com/tj-actions/verify-changed-files instead > See: https://github.com/tj-actions/verify-changed-files instead.
## Table of contents ## Table of contents
@ -49,7 +49,7 @@ Effortlessly track all changed files and directories relative to a target branch
## Features 🚀 ## Features 🚀
* Fast execution, averaging 0-10 seconds. * Fast execution, averaging 0-10 seconds.
* Leverages either [Github's REST API](https://docs.github.com/en/rest/reference/repos#list-commits) or [Git's native diff](https://git-scm.com/docs/git-diff) to determine changed files. * Leverages either [Github's REST API](https://docs.github.com/en/rest/reference/repos#list-commits) or [Git's native diff command](https://git-scm.com/docs/git-diff) to determine changed files.
* Facilitates easy debugging. * Facilitates easy debugging.
* Scales to handle large/mono repositories. * Scales to handle large/mono repositories.
* Supports Git submodules. * Supports Git submodules.
@ -60,7 +60,7 @@ Effortlessly track all changed files and directories relative to a target branch
* Optionally excludes the current directory. * Optionally excludes the current directory.
* Writes outputs to a designated `.txt` or `.json` file for further processing. * Writes outputs to a designated `.txt` or `.json` file for further processing.
* Restores deleted files to their previous location or a newly specified location. * Restores deleted files to their previous location or a newly specified location.
* Supports fetching a fixed number of commits which improves performance. * Supports fetching a fixed number of commits, which improves performance.
* Compatible with all platforms (Linux, MacOS, Windows). * Compatible with all platforms (Linux, MacOS, Windows).
* Supports [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners). * Supports [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners).
* Supports [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). * Supports [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).
@ -116,15 +116,13 @@ jobs:
name: Test changed-files name: Test changed-files
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
# ----------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------
# Example 1 # Example 1
# ----------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
# To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g # To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g
# with: # with:
# since_last_remote_commit: true # since_last_remote_commit: true
@ -142,11 +140,12 @@ jobs:
# ----------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------
- name: Get all changed markdown files - name: Get all changed markdown files
id: changed-markdown-files id: changed-markdown-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
# Avoid using single or double quotes for multiline patterns # Avoid using single or double quotes for multiline patterns
files: | files: |
**.md **.md
docs/**.md
- name: List all changed files markdown files - name: List all changed files markdown files
if: steps.changed-markdown-files.outputs.any_changed == 'true' if: steps.changed-markdown-files.outputs.any_changed == 'true'
@ -162,7 +161,7 @@ jobs:
# ----------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------
- name: Get all test, doc and src files that have changed - name: Get all test, doc and src files that have changed
id: changed-files-yaml id: changed-files-yaml
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files_yaml: | files_yaml: |
doc: doc:
@ -197,7 +196,7 @@ jobs:
# ----------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------
- name: Get changed files in the docs folder - name: Get changed files in the docs folder
id: changed-files-specific id: changed-files-specific
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files: docs/*.{js,html} # Alternatively using: `docs/**` files: docs/*.{js,html} # Alternatively using: `docs/**`
files_ignore: docs/static.js files_ignore: docs/static.js
@ -229,7 +228,7 @@ jobs:
# NOTE: # NOTE:
# - This is limited to pull_request* events and would raise an error for other events. # - This is limited to pull_request* events and would raise an error for other events.
# - A maximum of 3000 files can be returned. # - A maximum of 3000 files can be returned.
# - For more flexibility and no limitations see "Using local .git history" above. # - For more flexibility and no limitations see "Using local .git directory" above.
runs-on: ubuntu-latest # windows-latest || macos-latest runs-on: ubuntu-latest # windows-latest || macos-latest
name: Test changed-files name: Test changed-files
@ -239,7 +238,7 @@ jobs:
steps: steps:
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
- name: List all changed files - name: List all changed files
env: env:
@ -282,7 +281,7 @@ jobs:
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
# NOTE: `since_last_remote_commit: true` is implied by default and falls back to the previous local commit. # NOTE: `since_last_remote_commit: true` is implied by default and falls back to the previous local commit.
- name: List all changed files - name: List all changed files
@ -322,14 +321,14 @@ Support this project with a :star:
> * When using `files_yaml*` inputs: > * When using `files_yaml*` inputs:
> * All keys must start with a letter or `_` and contain only alphanumeric characters, `-`, or `_`. > * All keys must start with a letter or `_` and contain only alphanumeric characters, `-`, or `_`.
> >
> For example, `test` or `test_key` or `test-key` or `_test_key` are all valid. > For example, `test` or `test_key` or `test-key` or `_test_key` are all valid choices.
## Inputs ⚙️ ## Inputs ⚙️
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section --> <!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
```yaml ```yaml
- uses: tj-actions/changed-files@v42 - uses: tj-actions/changed-files@v45
id: changed-files id: changed-files
with: with:
# Github API URL. # Github API URL.
@ -337,52 +336,68 @@ Support this project with a :star:
# Default: "${{ github.api_url }}" # Default: "${{ github.api_url }}"
api_url: '' api_url: ''
# Specify a different base commit SHA or branch used # Specify a different base commit
# for comparing changes # SHA or branch used for
# comparing changes
# Type: string # Type: string
base_sha: '' base_sha: ''
# Exclude changes outside the current directory and show path # Exclude changes outside the current
# names relative to it. NOTE: This requires you to # directory and show path names
# specify the top-level directory via the `path` input. # relative to it. NOTE: This
# requires you to specify the
# top-level directory via the `path`
# input.
# Type: boolean # Type: boolean
# Default: "true" # Default: "true"
diff_relative: '' diff_relative: ''
# Output unique changed directories instead of filenames. NOTE: This # Output unique changed directories instead
# returns `.` for changed files located in the current # of filenames. NOTE: This returns
# working directory which defaults to `$GITHUB_WORKSPACE`. # `.` for changed files located
# in the current working directory
# which defaults to `$GITHUB_WORKSPACE`.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
dir_names: '' dir_names: ''
# Include only directories that have been deleted as opposed # Include only directories that have
# to directory names of files that have been deleted # been deleted as opposed to
# in the `deleted_files` output when `dir_names` is set to # directory names of files that
# `true`. # have been deleted in the
# `deleted_files` output when `dir_names` is
# set to `true`.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
dir_names_deleted_files_include_only_deleted_dirs: '' dir_names_deleted_files_include_only_deleted_dirs: ''
# Exclude the current directory represented by `.` from the # Exclude the current directory represented
# output when `dir_names` is set to `true`. # by `.` from the output
# when `dir_names` is set to
# `true`.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
dir_names_exclude_current_dir: '' dir_names_exclude_current_dir: ''
# File and directory patterns to include in the output # File and directory patterns to
# when `dir_names` is set to `true`. NOTE: This returns # include in the output when
# only the matching files and also the directory names. # `dir_names` is set to `true`.
# NOTE: This returns only the
# matching files and also the
# directory names.
# Type: string # Type: string
dir_names_include_files: '' dir_names_include_files: ''
# Separator used to split the `dir_names_include_files` input # Separator used to split the
# `dir_names_include_files` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
dir_names_include_files_separator: '' dir_names_include_files_separator: ''
# Limit the directory output to a maximum depth e.g # Limit the directory output to
# `test/test1/test2` with max depth of `2` returns `test/test1`. # a maximum depth e.g `test/test1/test2`
# with max depth of `2`
# returns `test/test1`.
# Type: string # Type: string
dir_names_max_depth: '' dir_names_max_depth: ''
@ -391,12 +406,19 @@ Support this project with a :star:
# Default: "true" # Default: "true"
escape_json: '' escape_json: ''
# Fail when the initial diff fails. # Exclude changes to submodules.
# Type: boolean
# Default: "false"
exclude_submodules: ''
# Fail when the initial diff
# fails.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
fail_on_initial_diff_error: '' fail_on_initial_diff_error: ''
# Fail when the submodule diff fails. # Fail when the submodule diff
# fails.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
fail_on_submodule_diff_error: '' fail_on_submodule_diff_error: ''
@ -406,105 +428,140 @@ Support this project with a :star:
# Default: "false" # Default: "false"
fetch_additional_submodule_history: '' fetch_additional_submodule_history: ''
# Depth of additional branch history fetched. NOTE: This can # Depth of additional branch history
# be adjusted to resolve errors with insufficient history. # fetched. NOTE: This can be
# adjusted to resolve errors with
# insufficient history.
# Type: string # Type: string
# Default: "50" # Default: "25"
fetch_depth: '' fetch_depth: ''
# File and directory patterns used to detect changes (Defaults to the entire repo if unset). # Maximum number of retries to
# NOTE: Multiline file/directory patterns should not include quotes. # fetch missing history.
# Type: string
# Default: "20"
fetch_missing_history_max_retries: ''
# File and directory patterns used
# to detect changes (Defaults to the entire repo if unset). NOTE:
# Multiline file/directory patterns should not
# include quotes.
# Type: string # Type: string
files: '' files: ''
# Source file(s) used to populate the `files` input. # Source file(s) used to populate
# the `files` input.
# Type: string # Type: string
files_from_source_file: '' files_from_source_file: ''
# Separator used to split the `files_from_source_file` input. # Separator used to split the
# `files_from_source_file` input.
# Type: string # Type: string
# Default: "\n" # Default: "\n"
files_from_source_file_separator: '' files_from_source_file_separator: ''
# Ignore changes to these file(s). NOTE: Multiline file/directory patterns # Ignore changes to these file(s).
# should not include quotes. # NOTE: Multiline file/directory patterns should
# not include quotes.
# Type: string # Type: string
files_ignore: '' files_ignore: ''
# Source file(s) used to populate the `files_ignore` input # Source file(s) used to populate
# the `files_ignore` input
# Type: string # Type: string
files_ignore_from_source_file: '' files_ignore_from_source_file: ''
# Separator used to split the `files_ignore_from_source_file` input # Separator used to split the
# `files_ignore_from_source_file` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
files_ignore_from_source_file_separator: '' files_ignore_from_source_file_separator: ''
# Separator used to split the `files_ignore` input # Separator used to split the
# `files_ignore` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
files_ignore_separator: '' files_ignore_separator: ''
# YAML used to define a set of file patterns # YAML used to define a
# to ignore changes # set of file patterns to
# ignore changes
# Type: string # Type: string
files_ignore_yaml: '' files_ignore_yaml: ''
# Source file(s) used to populate the `files_ignore_yaml` input. Example: # Source file(s) used to populate
# https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml # the `files_ignore_yaml` input. Example: https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml
# Type: string # Type: string
files_ignore_yaml_from_source_file: '' files_ignore_yaml_from_source_file: ''
# Separator used to split the `files_ignore_yaml_from_source_file` input # Separator used to split the
# `files_ignore_yaml_from_source_file` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
files_ignore_yaml_from_source_file_separator: '' files_ignore_yaml_from_source_file_separator: ''
# Separator used to split the `files` input # Separator used to split the
# `files` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
files_separator: '' files_separator: ''
# YAML used to define a set of file patterns # YAML used to define a
# to detect changes # set of file patterns to
# detect changes
# Type: string # Type: string
files_yaml: '' files_yaml: ''
# Source file(s) used to populate the `files_yaml` input. Example: # Source file(s) used to populate
# https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml # the `files_yaml` input. Example: https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml
# Type: string # Type: string
files_yaml_from_source_file: '' files_yaml_from_source_file: ''
# Separator used to split the `files_yaml_from_source_file` input # Separator used to split the
# `files_yaml_from_source_file` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
files_yaml_from_source_file_separator: '' files_yaml_from_source_file_separator: ''
# Include `all_old_new_renamed_files` output. Note this can generate a large # Include `all_old_new_renamed_files` output. Note this
# output See: #501. # can generate a large output
# See: #501.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
include_all_old_new_renamed_files: '' include_all_old_new_renamed_files: ''
# Output list of changed files in a JSON formatted # Output list of changed files
# string which can be used for matrix jobs. Example: # in a JSON formatted string
# https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-example.yml # which can be used for
# matrix jobs. Example: https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-example.yml
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
json: '' json: ''
# Apply the negation patterns first. NOTE: This affects how # Output changed files in a
# changed files are matched. # format that can be used
# for matrix jobs. Alias for
# setting inputs `json` to `true`
# and `escape_json` to `false`.
# Type: boolean
# Default: "false"
matrix: ''
# Apply the negation patterns first.
# NOTE: This affects how changed
# files are matched.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
negation_patterns_first: '' negation_patterns_first: ''
# Split character for old and new renamed filename pairs. # Split character for old and
# new renamed filename pairs.
# Type: string # Type: string
# Default: " " # Default: " "
old_new_files_separator: '' old_new_files_separator: ''
# Split character for old and new filename pairs. # Split character for old and
# new filename pairs.
# Type: string # Type: string
# Default: "," # Default: ","
old_new_separator: '' old_new_separator: ''
@ -514,19 +571,22 @@ Support this project with a :star:
# Default: ".github/outputs" # Default: ".github/outputs"
output_dir: '' output_dir: ''
# Output renamed files as deleted and added files. # Output renamed files as deleted
# and added files.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
output_renamed_files_as_deleted_and_added: '' output_renamed_files_as_deleted_and_added: ''
# Specify a relative path under `$GITHUB_WORKSPACE` to locate the # Specify a relative path under
# repository. # `$GITHUB_WORKSPACE` to locate the repository.
# Type: string # Type: string
# Default: "." # Default: "."
path: '' path: ''
# Use non-ASCII characters to match files and output the # Use non-ASCII characters to match
# filenames completely verbatim by setting this to `false` # files and output the filenames
# completely verbatim by setting this
# to `false`
# Type: boolean # Type: boolean
# Default: "true" # Default: "true"
quotepath: '' quotepath: ''
@ -536,35 +596,41 @@ Support this project with a :star:
# Default: "false" # Default: "false"
recover_deleted_files: '' recover_deleted_files: ''
# Recover deleted files to a new destination directory, defaults # Recover deleted files to a
# to the original location. # new destination directory, defaults to
# the original location.
# Type: string # Type: string
recover_deleted_files_to_destination: '' recover_deleted_files_to_destination: ''
# File and directory patterns used to recover deleted files, # File and directory patterns used
# defaults to the patterns provided via the `files`, `files_from_source_file`, # to recover deleted files, defaults
# `files_ignore` and `files_ignore_from_source_file` inputs or all deleted files if # to the patterns provided via
# no patterns are provided. # the `files`, `files_from_source_file`, `files_ignore` and
# `files_ignore_from_source_file` inputs or all deleted
# files if no patterns are
# provided.
# Type: string # Type: string
recover_files: '' recover_files: ''
# File and directory patterns to ignore when recovering deleted # File and directory patterns to
# files. # ignore when recovering deleted files.
# Type: string # Type: string
recover_files_ignore: '' recover_files_ignore: ''
# Separator used to split the `recover_files_ignore` input # Separator used to split the
# `recover_files_ignore` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
recover_files_ignore_separator: '' recover_files_ignore_separator: ''
# Separator used to split the `recover_files` input # Separator used to split the
# `recover_files` input
# Type: string # Type: string
# Default: "\n" # Default: "\n"
recover_files_separator: '' recover_files_separator: ''
# Apply sanitization to output filenames before being set as # Apply sanitization to output filenames
# output. # before being set as output.
# Type: boolean # Type: boolean
# Default: "true" # Default: "true"
safe_output: '' safe_output: ''
@ -574,53 +640,83 @@ Support this project with a :star:
# Default: " " # Default: " "
separator: '' separator: ''
# Specify a different commit SHA or branch used for # Specify a different commit SHA
# comparing changes # or branch used for comparing
# changes
# Type: string # Type: string
sha: '' sha: ''
# Get changed files for commits whose timestamp is older # Get changed files for commits
# than the given time. # whose timestamp is older than
# the given time.
# Type: string # Type: string
since: '' since: ''
# Use the last commit on the remote branch as # Use the last commit on
# the `base_sha`. Defaults to the last non-merge commit on # the remote branch as the
# the target branch for pull request events and the # `base_sha`. Defaults to the last
# previous remote commit of the current branch for push # non-merge commit on the target
# events. # branch for pull request events
# and the previous remote commit
# of the current branch for
# push events.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
since_last_remote_commit: '' since_last_remote_commit: ''
# Skip the initial fetch to improve performance for shallow # Skip initially fetching additional history
# repositories. NOTE: This could lead to errors with missing # to improve performance for shallow
# history and the intended use is limited to when # repositories. NOTE: This could lead
# you've fetched the history necessary to perform the diff. # to errors with missing history.
# It's intended to be used
# when you've fetched all necessary
# history to perform the diff.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
skip_initial_fetch: '' skip_initial_fetch: ''
# GitHub token used to fetch changed files from Github's # Tags pattern to ignore.
# API. # Type: string
tags_ignore_pattern: ''
# Tags pattern to include.
# Type: string
# Default: "*"
tags_pattern: ''
# GitHub token used to fetch
# changed files from Github's API.
# Type: string # Type: string
# Default: "${{ github.token }}" # Default: "${{ github.token }}"
token: '' token: ''
# Get changed files for commits whose timestamp is earlier # Get changed files for commits
# than the given time. # whose timestamp is earlier than
# the given time.
# Type: string # Type: string
until: '' until: ''
# Force the use of Github's REST API even when # Use POSIX path separator `/`
# a local copy of the repository exists # for output file paths on
# Windows.
# Type: boolean
# Default: "false"
use_posix_path_separator: ''
# Force the use of Github's
# REST API even when a
# local copy of the repository
# exists
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
use_rest_api: '' use_rest_api: ''
# Write outputs to the `output_dir` defaults to `.github/outputs` folder. # Write outputs to the `output_dir`
# NOTE: This creates a `.txt` file by default and # defaults to `.github/outputs` folder. NOTE:
# a `.json` file if `json` is set to `true`. # This creates a `.txt` file
# by default and a `.json`
# file if `json` is set
# to `true`.
# Type: boolean # Type: boolean
# Default: "false" # Default: "false"
write_output_files: '' write_output_files: ''
@ -657,33 +753,33 @@ Support this project with a :star:
|------------------------------------------------------------------------------------------------------------------------------------------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |------------------------------------------------------------------------------------------------------------------------------------------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <a name="output_added_files"></a>[added\_files](#output_added_files) | string | Returns only files that are <br>Added (A). | | <a name="output_added_files"></a>[added\_files](#output_added_files) | string | Returns only files that are <br>Added (A). |
| <a name="output_added_files_count"></a>[added\_files\_count](#output_added_files_count) | string | Returns the number of `added_files` | | <a name="output_added_files_count"></a>[added\_files\_count](#output_added_files_count) | string | Returns the number of `added_files` |
| <a name="output_all_changed_and_modified_files"></a>[all\_changed\_and\_modified\_files](#output_all_changed_and_modified_files) | string | Returns all changed and modified <br>files i.e. *a combination of (ACMRDTUX)* | | <a name="output_all_changed_and_modified_files"></a>[all\_changed\_and\_modified\_files](#output_all_changed_and_modified_files) | string | Returns all changed and modified <br>files i.e. a combination of <br>(ACMRDTUX) |
| <a name="output_all_changed_and_modified_files_count"></a>[all\_changed\_and\_modified\_files\_count](#output_all_changed_and_modified_files_count) | string | Returns the number of `all_changed_and_modified_files` | | <a name="output_all_changed_and_modified_files_count"></a>[all\_changed\_and\_modified\_files\_count](#output_all_changed_and_modified_files_count) | string | Returns the number of `all_changed_and_modified_files` |
| <a name="output_all_changed_files"></a>[all\_changed\_files](#output_all_changed_files) | string | Returns all changed files i.e. <br>*a combination of all added, copied, modified and renamed files (ACMR)* | | <a name="output_all_changed_files"></a>[all\_changed\_files](#output_all_changed_files) | string | Returns all changed files i.e. <br>a combination of all added, <br>copied, modified and renamed files <br>(ACMR) |
| <a name="output_all_changed_files_count"></a>[all\_changed\_files\_count](#output_all_changed_files_count) | string | Returns the number of `all_changed_files` | | <a name="output_all_changed_files_count"></a>[all\_changed\_files\_count](#output_all_changed_files_count) | string | Returns the number of `all_changed_files` |
| <a name="output_all_modified_files"></a>[all\_modified\_files](#output_all_modified_files) | string | Returns all changed files i.e. <br>*a combination of all added, copied, modified, renamed and deleted files (ACMRD)*. | | <a name="output_all_modified_files"></a>[all\_modified\_files](#output_all_modified_files) | string | Returns all changed files i.e. <br>a combination of all added, <br>copied, modified, renamed and deleted <br>files (ACMRD). |
| <a name="output_all_modified_files_count"></a>[all\_modified\_files\_count](#output_all_modified_files_count) | string | Returns the number of `all_modified_files` | | <a name="output_all_modified_files_count"></a>[all\_modified\_files\_count](#output_all_modified_files_count) | string | Returns the number of `all_modified_files` |
| <a name="output_all_old_new_renamed_files"></a>[all\_old\_new\_renamed\_files](#output_all_old_new_renamed_files) | string | Returns only files that are <br>Renamed and lists their old <br>and new names. **NOTE:** This <br>requires setting `include_all_old_new_renamed_files` to `true`. <br>Also, keep in mind that <br>this output is global and <br>wouldn't be nested in outputs <br>generated when the `*_yaml_*` input <br>is used. (R) | | <a name="output_all_old_new_renamed_files"></a>[all\_old\_new\_renamed\_files](#output_all_old_new_renamed_files) | string | Returns only files that are <br>Renamed and lists their old <br>and new names. **NOTE:** This <br>requires setting `include_all_old_new_renamed_files` to `true`. <br>Also, keep in mind that <br>this output is global and <br>wouldn't be nested in outputs <br>generated when the `*_yaml_*` input <br>is used. (R) |
| <a name="output_all_old_new_renamed_files_count"></a>[all\_old\_new\_renamed\_files\_count](#output_all_old_new_renamed_files_count) | string | Returns the number of `all_old_new_renamed_files` | | <a name="output_all_old_new_renamed_files_count"></a>[all\_old\_new\_renamed\_files\_count](#output_all_old_new_renamed_files_count) | string | Returns the number of `all_old_new_renamed_files` |
| <a name="output_any_changed"></a>[any\_changed](#output_any_changed) | string | Returns `true` when any of <br>the filenames provided using the <br>`files*` or `files_ignore*` inputs have changed. i.e. <br>*includes a combination of all added, copied, modified and renamed files (ACMR)*. | | <a name="output_any_changed"></a>[any\_changed](#output_any_changed) | string | Returns `true` when any of <br>the filenames provided using the <br>`files*` or `files_ignore*` inputs have changed. This <br>defaults to `true` when no <br>patterns are specified. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*. |
| <a name="output_any_deleted"></a>[any\_deleted](#output_any_deleted) | string | Returns `true` when any of <br>the filenames provided using the <br>`files*` or `files_ignore*` inputs has been deleted. <br>(D) | | <a name="output_any_deleted"></a>[any\_deleted](#output_any_deleted) | string | Returns `true` when any of <br>the filenames provided using the <br>`files*` or `files_ignore*` inputs have been deleted. <br>This defaults to `true` when <br>no patterns are specified. (D) |
| <a name="output_any_modified"></a>[any\_modified](#output_any_modified) | string | Returns `true` when any of <br>the filenames provided using the <br>`files*` or `files_ignore*` inputs has been modified. <br>i.e. *includes a combination of all added, copied, modified, renamed, and deleted files (ACMRD)*. | | <a name="output_any_modified"></a>[any\_modified](#output_any_modified) | string | Returns `true` when any of <br>the filenames provided using the <br>`files*` or `files_ignore*` inputs have been modified. <br>This defaults to `true` when <br>no patterns are specified. i.e. <br>*includes a combination of all added, copied, modified, renamed, and deleted files (ACMRD)*. |
| <a name="output_changed_keys"></a>[changed\_keys](#output_changed_keys) | string | Returns all changed YAML keys <br>when the `files_yaml` input is <br>used. i.e. *key that contains any path that has either been added, copied, modified, and renamed (ACMR)* | | <a name="output_changed_keys"></a>[changed\_keys](#output_changed_keys) | string | Returns all changed YAML keys <br>when the `files_yaml` input is <br>used. i.e. key that contains <br>any path that has either <br>been added, copied, modified, and <br>renamed (ACMR) |
| <a name="output_copied_files"></a>[copied\_files](#output_copied_files) | string | Returns only files that are <br>Copied (C). | | <a name="output_copied_files"></a>[copied\_files](#output_copied_files) | string | Returns only files that are <br>Copied (C). |
| <a name="output_copied_files_count"></a>[copied\_files\_count](#output_copied_files_count) | string | Returns the number of `copied_files` | | <a name="output_copied_files_count"></a>[copied\_files\_count](#output_copied_files_count) | string | Returns the number of `copied_files` |
| <a name="output_deleted_files"></a>[deleted\_files](#output_deleted_files) | string | Returns only files that are <br>Deleted (D). | | <a name="output_deleted_files"></a>[deleted\_files](#output_deleted_files) | string | Returns only files that are <br>Deleted (D). |
| <a name="output_deleted_files_count"></a>[deleted\_files\_count](#output_deleted_files_count) | string | Returns the number of `deleted_files` | | <a name="output_deleted_files_count"></a>[deleted\_files\_count](#output_deleted_files_count) | string | Returns the number of `deleted_files` |
| <a name="output_modified_files"></a>[modified\_files](#output_modified_files) | string | Returns only files that are <br>Modified (M). | | <a name="output_modified_files"></a>[modified\_files](#output_modified_files) | string | Returns only files that are <br>Modified (M). |
| <a name="output_modified_files_count"></a>[modified\_files\_count](#output_modified_files_count) | string | Returns the number of `modified_files` | | <a name="output_modified_files_count"></a>[modified\_files\_count](#output_modified_files_count) | string | Returns the number of `modified_files` |
| <a name="output_modified_keys"></a>[modified\_keys](#output_modified_keys) | string | Returns all modified YAML keys <br>when the `files_yaml` input is <br>used. i.e. *key that contains any path that has either been added, copied, modified, and deleted (ACMRD)* | | <a name="output_modified_keys"></a>[modified\_keys](#output_modified_keys) | string | Returns all modified YAML keys <br>when the `files_yaml` input is <br>used. i.e. key that contains <br>any path that has either <br>been added, copied, modified, and <br>deleted (ACMRD) |
| <a name="output_only_changed"></a>[only\_changed](#output_only_changed) | string | Returns `true` when only files <br>provided using the `files*` or `files_ignore*` inputs <br>have changed. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*. | | <a name="output_only_changed"></a>[only\_changed](#output_only_changed) | string | Returns `true` when only files <br>provided using the `files*` or `files_ignore*` inputs <br>have changed. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*. |
| <a name="output_only_deleted"></a>[only\_deleted](#output_only_deleted) | string | Returns `true` when only files <br>provided using the `files*` or `files_ignore*` inputs <br>has been deleted. (D) | | <a name="output_only_deleted"></a>[only\_deleted](#output_only_deleted) | string | Returns `true` when only files <br>provided using the `files*` or `files_ignore*` inputs <br>have been deleted. (D) |
| <a name="output_only_modified"></a>[only\_modified](#output_only_modified) | string | Returns `true` when only files <br>provided using the `files*` or `files_ignore*` inputs <br>has been modified. (ACMRD). | | <a name="output_only_modified"></a>[only\_modified](#output_only_modified) | string | Returns `true` when only files <br>provided using the `files*` or `files_ignore*` inputs <br>have been modified. (ACMRD). |
| <a name="output_other_changed_files"></a>[other\_changed\_files](#output_other_changed_files) | string | Returns all other changed files <br>not listed in the files <br>input i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*. | | <a name="output_other_changed_files"></a>[other\_changed\_files](#output_other_changed_files) | string | Returns all other changed files <br>not listed in the files <br>input i.e. includes a combination <br>of all added, copied, modified <br>and renamed files (ACMR). |
| <a name="output_other_changed_files_count"></a>[other\_changed\_files\_count](#output_other_changed_files_count) | string | Returns the number of `other_changed_files` | | <a name="output_other_changed_files_count"></a>[other\_changed\_files\_count](#output_other_changed_files_count) | string | Returns the number of `other_changed_files` |
| <a name="output_other_deleted_files"></a>[other\_deleted\_files](#output_other_deleted_files) | string | Returns all other deleted files <br>not listed in the files <br>input i.e. *a combination of all deleted files (D)* | | <a name="output_other_deleted_files"></a>[other\_deleted\_files](#output_other_deleted_files) | string | Returns all other deleted files <br>not listed in the files <br>input i.e. a combination of <br>all deleted files (D) |
| <a name="output_other_deleted_files_count"></a>[other\_deleted\_files\_count](#output_other_deleted_files_count) | string | Returns the number of `other_deleted_files` | | <a name="output_other_deleted_files_count"></a>[other\_deleted\_files\_count](#output_other_deleted_files_count) | string | Returns the number of `other_deleted_files` |
| <a name="output_other_modified_files"></a>[other\_modified\_files](#output_other_modified_files) | string | Returns all other modified files <br>not listed in the files <br>input i.e. *a combination of all added, copied, modified, and deleted files (ACMRD)* | | <a name="output_other_modified_files"></a>[other\_modified\_files](#output_other_modified_files) | string | Returns all other modified files <br>not listed in the files <br>input i.e. a combination of <br>all added, copied, modified, and <br>deleted files (ACMRD) |
| <a name="output_other_modified_files_count"></a>[other\_modified\_files\_count](#output_other_modified_files_count) | string | Returns the number of `other_modified_files` | | <a name="output_other_modified_files_count"></a>[other\_modified\_files\_count](#output_other_modified_files_count) | string | Returns the number of `other_modified_files` |
| <a name="output_renamed_files"></a>[renamed\_files](#output_renamed_files) | string | Returns only files that are <br>Renamed (R). | | <a name="output_renamed_files"></a>[renamed\_files](#output_renamed_files) | string | Returns only files that are <br>Renamed (R). |
| <a name="output_renamed_files_count"></a>[renamed\_files\_count](#output_renamed_files_count) | string | Returns the number of `renamed_files` | | <a name="output_renamed_files_count"></a>[renamed\_files\_count](#output_renamed_files_count) | string | Returns the number of `renamed_files` |
@ -717,7 +813,7 @@ The format of the version string is as follows:
... ...
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
... ...
``` ```
@ -730,7 +826,7 @@ The format of the version string is as follows:
... ...
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
safe_output: false # set to false because we are using an environment variable to store the output and avoid command injection. safe_output: false # set to false because we are using an environment variable to store the output and avoid command injection.
@ -753,7 +849,7 @@ The format of the version string is as follows:
... ...
- name: Get all changed files and use a comma separator in the output - name: Get all changed files and use a comma separator in the output
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
separator: "," separator: ","
... ...
@ -770,7 +866,7 @@ See [inputs](#inputs) for more information.
... ...
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
- name: List all added files - name: List all added files
env: env:
@ -793,7 +889,7 @@ See [outputs](#outputs) for a list of all available outputs.
... ...
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
- name: Run a step if my-file.txt was modified - name: Run a step if my-file.txt was modified
if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt') if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt')
@ -814,7 +910,7 @@ See [outputs](#outputs) for a list of all available outputs.
- name: Get changed files and write the outputs to a Txt file - name: Get changed files and write the outputs to a Txt file
id: changed-files-write-output-files-txt id: changed-files-write-output-files-txt
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
write_output_files: true write_output_files: true
@ -833,7 +929,7 @@ See [outputs](#outputs) for a list of all available outputs.
... ...
- name: Get changed files and write the outputs to a JSON file - name: Get changed files and write the outputs to a JSON file
id: changed-files-write-output-files-json id: changed-files-write-output-files-json
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
json: true json: true
write_output_files: true write_output_files: true
@ -853,7 +949,7 @@ See [outputs](#outputs) for a list of all available outputs.
... ...
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files: | files: |
my-file.txt my-file.txt
@ -876,7 +972,7 @@ See [inputs](#inputs) for more information.
... ...
- name: Get changed files - name: Get changed files
id: changed-files-specific id: changed-files-specific
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files: | files: |
my-file.txt my-file.txt
@ -927,7 +1023,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. - name: Get changed files using a source file or list of file(s) to populate to files input.
id: changed-files-specific-source-file id: changed-files-specific-source-file
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files_from_source_file: test/changed-files-list.txt files_from_source_file: test/changed-files-list.txt
... ...
@ -944,7 +1040,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. - 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 id: changed-files-specific-source-file-and-specify-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files_from_source_file: | files_from_source_file: |
test/changed-files-list.txt test/changed-files-list.txt
@ -965,7 +1061,7 @@ See [inputs](#inputs) for more information.
... ...
- name: Get changed files using a different SHA - name: Get changed files using a different SHA
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
sha: ${{ github.event.pull_request.head.sha }} sha: ${{ github.event.pull_request.head.sha }}
... ...
@ -982,7 +1078,7 @@ See [inputs](#inputs) for more information.
... ...
- name: Get changed files using a different base SHA - name: Get changed files using a different base SHA
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
base_sha: ${{ github.event.pull_request.base.sha }} base_sha: ${{ github.event.pull_request.base.sha }}
... ...
@ -1014,7 +1110,7 @@ jobs:
- name: Get changed files - name: Get changed files
id: changed-files id: changed-files
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
- name: List changed files - name: List changed files
env: env:
@ -1024,7 +1120,7 @@ jobs:
- name: Get changed files in the .github folder - name: Get changed files in the .github folder
id: changed-files-specific id: changed-files-specific
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files: .github/** files: .github/**
@ -1055,14 +1151,13 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with defaults in dir1 - name: Run changed-files with defaults in dir1
id: changed-files-for-dir1 id: changed-files-for-dir1
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
path: dir1 path: dir1
- name: List all added files in dir1 - name: List all added files in dir1
env: env:
ADDED_FILES: |- ADDED_FILES: ${{ steps.changed-files-for-dir1.outputs.added_files }}
${{ steps.changed-files-for-dir1.outputs.added_files }}
run: | run: |
for file in ${ADDED_FILES}; do for file in ${ADDED_FILES}; do
echo "$file was added" echo "$file was added"
@ -1081,13 +1176,13 @@ See [inputs](#inputs) for more information.
... ...
- name: Run changed-files with quotepath disabled - name: Run changed-files with quotepath disabled
id: changed-files-quotepath id: changed-files-quotepath
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
quotepath: "false" quotepath: "false"
- name: Run changed-files with quotepath disabled for a specified list of file(s) - name: Run changed-files with quotepath disabled for a specified list of file(s)
id: changed-files-quotepath-specific id: changed-files-quotepath-specific
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
files: test/test-è.txt files: test/test-è.txt
quotepath: "false" quotepath: "false"
@ -1120,7 +1215,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with the commit of the last successful test workflow run - name: Run changed-files with the commit of the last successful test workflow run
id: changed-files-base-sha-push id: changed-files-base-sha-push
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
base_sha: ${{ steps.last_successful_commit_push.outputs.base }} base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
... ...
@ -1147,7 +1242,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with the commit of the last successful test workflow run on the main branch - name: Run changed-files with the commit of the last successful test workflow run on the main branch
id: changed-files-base-sha-pull-request id: changed-files-base-sha-pull-request
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }} base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
... ...
@ -1173,7 +1268,7 @@ See [inputs](#inputs) for more information.
... ...
- name: Run changed-files with dir_names - name: Run changed-files with dir_names
id: changed-files-dir-names id: changed-files-dir-names
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
dir_names: "true" dir_names: "true"
... ...
@ -1190,7 +1285,7 @@ See [inputs](#inputs) for more information.
... ...
- name: Run changed-files with JSON output - name: Run changed-files with JSON output
id: changed-files-json id: changed-files-json
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
json: "true" json: "true"
... ...
@ -1207,13 +1302,13 @@ See [inputs](#inputs) for more information.
... ...
- name: Get changed-files since 2022-08-19 - name: Get changed-files since 2022-08-19
id: changed-files-since id: changed-files-since
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
since: "2022-08-19" since: "2022-08-19"
- name: Get changed-files until 2022-08-20 - name: Get changed-files until 2022-08-20
id: changed-files-until id: changed-files-until
uses: tj-actions/changed-files@v42 uses: tj-actions/changed-files@v45
with: with:
until: "2022-08-20" until: "2022-08-20"
... ...
@ -1245,6 +1340,8 @@ See [inputs](#inputs) for more information.
* [qmk\_firmware uses tj-actions/changed-files to run linters](https://github.com/qmk/qmk_firmware/blob/7a737235ffd49c32d2c5561e8fe53fd96baa7f96/.github/workflows/lint.yml#L30) * [qmk\_firmware uses tj-actions/changed-files to run linters](https://github.com/qmk/qmk_firmware/blob/7a737235ffd49c32d2c5561e8fe53fd96baa7f96/.github/workflows/lint.yml#L30)
* [argo-cd uses tj-actions/changed-files to detect changed frontend or backend files](https://github.com/argoproj/argo-cd/blob/5bc1850aa1d26301043be9f2fb825d88c80c111c/.github/workflows/ci-build.yaml#L33)
* [argo-workflows uses tj-actions/changed-files to run specific jobs based on changes detected](https://github.com/argoproj/argo-workflows/blob/baef4856ff2603c76dbe277c825eaa3f9788fc91/.github/workflows/ci-build.yaml#L34) * [argo-workflows uses tj-actions/changed-files to run specific jobs based on changes detected](https://github.com/argoproj/argo-workflows/blob/baef4856ff2603c76dbe277c825eaa3f9788fc91/.github/workflows/ci-build.yaml#L34)
And many more... And many more...
@ -1300,7 +1397,7 @@ Report bugs at https://github.com/tj-actions/changed-files/issues.
If you are reporting a bug, please include: If you are reporting a bug, please include:
* Your operating system name and version. * Your operating system name and version.
* Any details about your workflow that might be helpful in troubleshooting. (**NOTE**: Ensure that you include full log outputs with debugging enabled) * All essential details about your workflow that might be helpful in troubleshooting. (**NOTE**: Ensure that you include full log outputs with debugging enabled)
* Detailed steps to reproduce the bug. * Detailed steps to reproduce the bug.
## Contributors ✨ ## Contributors ✨
@ -1348,6 +1445,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dan-hill2802"><img src="https://avatars.githubusercontent.com/u/5046322?v=4?s=100" width="100px;" alt="Daniel Hill"/><br /><sub><b>Daniel Hill</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=dan-hill2802" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/dan-hill2802"><img src="https://avatars.githubusercontent.com/u/5046322?v=4?s=100" width="100px;" alt="Daniel Hill"/><br /><sub><b>Daniel Hill</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=dan-hill2802" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://keisukeyamashita.com"><img src="https://avatars.githubusercontent.com/u/23056537?v=4?s=100" width="100px;" alt="KeisukeYamashita"/><br /><sub><b>KeisukeYamashita</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=KeisukeYamashita" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://keisukeyamashita.com"><img src="https://avatars.githubusercontent.com/u/23056537?v=4?s=100" width="100px;" alt="KeisukeYamashita"/><br /><sub><b>KeisukeYamashita</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=KeisukeYamashita" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/codesculpture"><img src="https://avatars.githubusercontent.com/u/63452117?v=4?s=100" width="100px;" alt="Aravind"/><br /><sub><b>Aravind</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=codesculpture" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/issues?q=author%3Acodesculpture" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/codesculpture"><img src="https://avatars.githubusercontent.com/u/63452117?v=4?s=100" width="100px;" alt="Aravind"/><br /><sub><b>Aravind</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=codesculpture" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/issues?q=author%3Acodesculpture" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://lukaspfahler.de"><img src="https://avatars.githubusercontent.com/u/2308119?v=4?s=100" width="100px;" alt="Lukas Pfahler"/><br /><sub><b>Lukas Pfahler</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Whadup" title="Code">💻</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -141,11 +141,11 @@ inputs:
fetch_depth: fetch_depth:
description: "Depth of additional branch history fetched. NOTE: This can be adjusted to resolve errors with insufficient history." description: "Depth of additional branch history fetched. NOTE: This can be adjusted to resolve errors with insufficient history."
required: false required: false
default: "50" default: "25"
skip_initial_fetch: skip_initial_fetch:
description: | description: |
Skip the initial fetch to improve performance for shallow repositories. Skip initially fetching additional history to improve performance for shallow repositories.
NOTE: This could lead to errors with missing history and the intended use is limited to when you've fetched the history necessary to perform the diff. NOTE: This could lead to errors with missing history. It's intended to be used when you've fetched all necessary history to perform the diff.
required: false required: false
default: "false" default: "false"
fetch_additional_submodule_history: fetch_additional_submodule_history:
@ -219,6 +219,31 @@ inputs:
description: "Apply the negation patterns first. NOTE: This affects how changed files are matched." description: "Apply the negation patterns first. NOTE: This affects how changed files are matched."
required: false required: false
default: "false" default: "false"
matrix:
description: "Output changed files in a format that can be used for matrix jobs. Alias for setting inputs `json` to `true` and `escape_json` to `false`."
required: false
default: "false"
exclude_submodules:
description: "Exclude changes to submodules."
required: false
default: "false"
fetch_missing_history_max_retries:
description: "Maximum number of retries to fetch missing history."
required: false
default: "20"
use_posix_path_separator:
description: "Use POSIX path separator `/` for output file paths on Windows."
required: false
default: "false"
tags_pattern:
description: "Tags pattern to include."
required: false
default: "*"
tags_ignore_pattern:
description: "Tags pattern to ignore."
required: false
default: ""
outputs: outputs:
added_files: added_files:
@ -258,45 +283,45 @@ outputs:
unknown_files_count: unknown_files_count:
description: "Returns the number of `unknown_files`" description: "Returns the number of `unknown_files`"
all_changed_and_modified_files: all_changed_and_modified_files:
description: "Returns all changed and modified files i.e. *a combination of (ACMRDTUX)*" description: "Returns all changed and modified files i.e. a combination of (ACMRDTUX)"
all_changed_and_modified_files_count: all_changed_and_modified_files_count:
description: "Returns the number of `all_changed_and_modified_files`" description: "Returns the number of `all_changed_and_modified_files`"
all_changed_files: all_changed_files:
description: "Returns all changed files i.e. *a combination of all added, copied, modified and renamed files (ACMR)*" description: "Returns all changed files i.e. a combination of all added, copied, modified and renamed files (ACMR)"
all_changed_files_count: all_changed_files_count:
description: "Returns the number of `all_changed_files`" description: "Returns the number of `all_changed_files`"
any_changed: any_changed:
description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs have changed. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*." description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs have changed. This defaults to `true` when no patterns are specified. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*."
only_changed: only_changed:
description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs have changed. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*." description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs have changed. i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*."
other_changed_files: other_changed_files:
description: "Returns all other changed files not listed in the files input i.e. *includes a combination of all added, copied, modified and renamed files (ACMR)*." description: "Returns all other changed files not listed in the files input i.e. includes a combination of all added, copied, modified and renamed files (ACMR)."
other_changed_files_count: other_changed_files_count:
description: "Returns the number of `other_changed_files`" description: "Returns the number of `other_changed_files`"
all_modified_files: all_modified_files:
description: "Returns all changed files i.e. *a combination of all added, copied, modified, renamed and deleted files (ACMRD)*." description: "Returns all changed files i.e. a combination of all added, copied, modified, renamed and deleted files (ACMRD)."
all_modified_files_count: all_modified_files_count:
description: "Returns the number of `all_modified_files`" description: "Returns the number of `all_modified_files`"
any_modified: any_modified:
description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs has been modified. i.e. *includes a combination of all added, copied, modified, renamed, and deleted files (ACMRD)*." description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs have been modified. This defaults to `true` when no patterns are specified. i.e. *includes a combination of all added, copied, modified, renamed, and deleted files (ACMRD)*."
only_modified: only_modified:
description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs has been modified. (ACMRD)." description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs have been modified. (ACMRD)."
other_modified_files: other_modified_files:
description: "Returns all other modified files not listed in the files input i.e. *a combination of all added, copied, modified, and deleted files (ACMRD)*" description: "Returns all other modified files not listed in the files input i.e. a combination of all added, copied, modified, and deleted files (ACMRD)"
other_modified_files_count: other_modified_files_count:
description: "Returns the number of `other_modified_files`" description: "Returns the number of `other_modified_files`"
any_deleted: any_deleted:
description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs has been deleted. (D)" description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs have been deleted. This defaults to `true` when no patterns are specified. (D)"
only_deleted: only_deleted:
description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs has been deleted. (D)" description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs have been deleted. (D)"
other_deleted_files: other_deleted_files:
description: "Returns all other deleted files not listed in the files input i.e. *a combination of all deleted files (D)*" description: "Returns all other deleted files not listed in the files input i.e. a combination of all deleted files (D)"
other_deleted_files_count: other_deleted_files_count:
description: "Returns the number of `other_deleted_files`" description: "Returns the number of `other_deleted_files`"
modified_keys: modified_keys:
description: "Returns all modified YAML keys when the `files_yaml` input is used. i.e. *key that contains any path that has either been added, copied, modified, and deleted (ACMRD)*" description: "Returns all modified YAML keys when the `files_yaml` input is used. i.e. key that contains any path that has either been added, copied, modified, and deleted (ACMRD)"
changed_keys: changed_keys:
description: "Returns all changed YAML keys when the `files_yaml` input is used. i.e. *key that contains any path that has either been added, copied, modified, and renamed (ACMR)*" description: "Returns all changed YAML keys when the `files_yaml` input is used. i.e. key that contains any path that has either been added, copied, modified, and renamed (ACMR)"
runs: runs:
using: 'node20' using: 'node20'

17259
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

5264
dist/licenses.txt generated vendored

File diff suppressed because it is too large Load Diff

2
dist/sourcemap-register.js generated vendored

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,5 @@
const path = require('path') const path = require('path')
process.env.TESTING = "1"
process.env.GITHUB_WORKSPACE = path.join( process.env.GITHUB_WORKSPACE = path.join(
path.resolve(__dirname, '..'), '.' path.resolve(__dirname, '..'), '.'
) )

View File

@ -1,6 +1,6 @@
{ {
"name": "@tj-actions/changed-files", "name": "@tj-actions/changed-files",
"version": "42.0.3", "version": "45.0.4",
"description": "Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.", "description": "Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.",
"main": "lib/main.js", "main": "lib/main.js",
"publishConfig": { "publishConfig": {
@ -14,6 +14,7 @@
"lint:fix": "eslint --fix src/*.ts src/**/*.ts", "lint:fix": "eslint --fix src/*.ts src/**/*.ts",
"package": "ncc build lib/main.js --source-map --license licenses.txt", "package": "ncc build lib/main.js --source-map --license licenses.txt",
"test": "jest --coverage", "test": "jest --coverage",
"update-snapshot": "jest -u",
"all": "yarn build && yarn format && yarn lint && yarn package && yarn test" "all": "yarn build && yarn format && yarn lint && yarn package && yarn test"
}, },
"repository": { "repository": {
@ -35,7 +36,8 @@
"@actions/core": "^1.10.0", "@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0", "@actions/github": "^6.0.0",
"@octokit/rest": "^20.0.1", "@octokit/rest": "^21.0.0",
"@stdlib/utils-convert-path": "^0.2.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"micromatch": "^4.0.5", "micromatch": "^4.0.5",
"yaml": "^2.3.1" "yaml": "^2.3.1"
@ -44,16 +46,16 @@
"@types/jest": "^29.5.2", "@types/jest": "^29.5.2",
"@types/lodash": "^4.14.195", "@types/lodash": "^4.14.195",
"@types/micromatch": "^4.0.2", "@types/micromatch": "^4.0.2",
"@types/node": "^20.3.2", "@types/node": "^22.0.0",
"@types/uuid": "^9.0.2", "@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0", "@typescript-eslint/parser": "^7.0.0",
"@vercel/ncc": "^0.38.0", "@vercel/ncc": "^0.38.0",
"eslint": "^8.43.0", "eslint": "^8.43.0",
"eslint-plugin-github": "^4.8.0",
"eslint-plugin-jest": "^27.2.2",
"eslint-plugin-prettier": "^5.0.0-alpha.2",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-github": "^5.0.0",
"eslint-plugin-jest": "^28.0.0",
"eslint-plugin-prettier": "^5.0.0-alpha.2",
"jest": "^29.5.0", "jest": "^29.5.0",
"prettier": "^3.0.0", "prettier": "^3.0.0",
"ts-jest": "^29.1.0", "ts-jest": "^29.1.0",

View File

@ -0,0 +1,373 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`getInputs should correctly parse boolean inputs 1`] = `
{
"apiUrl": "",
"baseSha": "",
"diffRelative": "false",
"dirNames": "false",
"dirNamesDeletedFilesIncludeOnlyDeletedDirs": "false",
"dirNamesExcludeCurrentDir": "false",
"dirNamesIncludeFiles": "",
"dirNamesIncludeFilesSeparator": "",
"escapeJson": false,
"excludeSubmodules": "false",
"failOnInitialDiffError": "false",
"failOnSubmoduleDiffError": "false",
"fetchAdditionalSubmoduleHistory": "false",
"fetchMissingHistoryMaxRetries": 20,
"files": "",
"filesFromSourceFile": "",
"filesFromSourceFileSeparator": "",
"filesIgnore": "",
"filesIgnoreFromSourceFile": "",
"filesIgnoreFromSourceFileSeparator": "",
"filesIgnoreSeparator": "",
"filesIgnoreYaml": "",
"filesIgnoreYamlFromSourceFile": "",
"filesIgnoreYamlFromSourceFileSeparator": "",
"filesSeparator": "",
"filesYaml": "",
"filesYamlFromSourceFile": "",
"filesYamlFromSourceFileSeparator": "",
"includeAllOldNewRenamedFiles": "false",
"json": true,
"negationPatternsFirst": "false",
"oldNewFilesSeparator": " ",
"oldNewSeparator": ",",
"outputDir": "",
"outputRenamedFilesAsDeletedAndAdded": "false",
"path": ".",
"quotepath": "false",
"recoverDeletedFiles": "false",
"recoverDeletedFilesToDestination": "",
"recoverFiles": "",
"recoverFilesIgnore": "",
"recoverFilesIgnoreSeparator": "
",
"recoverFilesSeparator": "
",
"safeOutput": "false",
"separator": "",
"sha": "",
"since": "",
"sinceLastRemoteCommit": "false",
"skipInitialFetch": "true",
"tagsIgnorePattern": "",
"tagsPattern": "*",
"token": "",
"until": "",
"usePosixPathSeparator": "false",
"useRestApi": "false",
"writeOutputFiles": "false",
}
`;
exports[`getInputs should correctly parse numeric inputs 1`] = `
{
"apiUrl": "",
"baseSha": "",
"diffRelative": true,
"dirNames": false,
"dirNamesDeletedFilesIncludeOnlyDeletedDirs": false,
"dirNamesExcludeCurrentDir": false,
"dirNamesIncludeFiles": "",
"dirNamesIncludeFilesSeparator": "",
"dirNamesMaxDepth": 2,
"escapeJson": false,
"excludeSubmodules": false,
"failOnInitialDiffError": false,
"failOnSubmoduleDiffError": false,
"fetchAdditionalSubmoduleHistory": false,
"fetchDepth": 5,
"files": "",
"filesFromSourceFile": "",
"filesFromSourceFileSeparator": "",
"filesIgnore": "",
"filesIgnoreFromSourceFile": "",
"filesIgnoreFromSourceFileSeparator": "",
"filesIgnoreSeparator": "",
"filesIgnoreYaml": "",
"filesIgnoreYamlFromSourceFile": "",
"filesIgnoreYamlFromSourceFileSeparator": "",
"filesSeparator": "",
"filesYaml": "",
"filesYamlFromSourceFile": "",
"filesYamlFromSourceFileSeparator": "",
"includeAllOldNewRenamedFiles": false,
"json": false,
"negationPatternsFirst": false,
"oldNewFilesSeparator": "",
"oldNewSeparator": "",
"outputDir": "",
"outputRenamedFilesAsDeletedAndAdded": false,
"path": "",
"quotepath": true,
"recoverDeletedFiles": false,
"recoverDeletedFilesToDestination": "",
"recoverFiles": "",
"recoverFilesIgnore": "",
"recoverFilesIgnoreSeparator": "",
"recoverFilesSeparator": "",
"safeOutput": false,
"separator": "",
"sha": "",
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "",
"until": "",
"usePosixPathSeparator": false,
"useRestApi": false,
"writeOutputFiles": false,
}
`;
exports[`getInputs should correctly parse string inputs 1`] = `
{
"apiUrl": "https://api.github.com",
"baseSha": "",
"diffRelative": true,
"dirNames": false,
"dirNamesDeletedFilesIncludeOnlyDeletedDirs": false,
"dirNamesExcludeCurrentDir": false,
"dirNamesIncludeFiles": "",
"dirNamesIncludeFilesSeparator": "",
"escapeJson": false,
"excludeSubmodules": false,
"failOnInitialDiffError": false,
"failOnSubmoduleDiffError": false,
"fetchAdditionalSubmoduleHistory": false,
"files": "",
"filesFromSourceFile": "",
"filesFromSourceFileSeparator": "",
"filesIgnore": "",
"filesIgnoreFromSourceFile": "",
"filesIgnoreFromSourceFileSeparator": "",
"filesIgnoreSeparator": "",
"filesIgnoreYaml": "",
"filesIgnoreYamlFromSourceFile": "",
"filesIgnoreYamlFromSourceFileSeparator": "",
"filesSeparator": "",
"filesYaml": "",
"filesYamlFromSourceFile": "",
"filesYamlFromSourceFileSeparator": "",
"includeAllOldNewRenamedFiles": false,
"json": false,
"negationPatternsFirst": false,
"oldNewFilesSeparator": "",
"oldNewSeparator": "",
"outputDir": "",
"outputRenamedFilesAsDeletedAndAdded": false,
"path": "",
"quotepath": true,
"recoverDeletedFiles": false,
"recoverDeletedFilesToDestination": "",
"recoverFiles": "",
"recoverFilesIgnore": "",
"recoverFilesIgnoreSeparator": "",
"recoverFilesSeparator": "",
"safeOutput": false,
"separator": "",
"sha": "",
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "token",
"until": "",
"usePosixPathSeparator": false,
"useRestApi": false,
"writeOutputFiles": false,
}
`;
exports[`getInputs should handle invalid numeric inputs correctly 1`] = `
{
"apiUrl": "",
"baseSha": "",
"diffRelative": true,
"dirNames": false,
"dirNamesDeletedFilesIncludeOnlyDeletedDirs": false,
"dirNamesExcludeCurrentDir": false,
"dirNamesIncludeFiles": "",
"dirNamesIncludeFilesSeparator": "",
"dirNamesMaxDepth": 2,
"escapeJson": false,
"excludeSubmodules": false,
"failOnInitialDiffError": false,
"failOnSubmoduleDiffError": false,
"fetchAdditionalSubmoduleHistory": false,
"fetchDepth": NaN,
"files": "",
"filesFromSourceFile": "",
"filesFromSourceFileSeparator": "",
"filesIgnore": "",
"filesIgnoreFromSourceFile": "",
"filesIgnoreFromSourceFileSeparator": "",
"filesIgnoreSeparator": "",
"filesIgnoreYaml": "",
"filesIgnoreYamlFromSourceFile": "",
"filesIgnoreYamlFromSourceFileSeparator": "",
"filesSeparator": "",
"filesYaml": "",
"filesYamlFromSourceFile": "",
"filesYamlFromSourceFileSeparator": "",
"includeAllOldNewRenamedFiles": false,
"json": false,
"negationPatternsFirst": false,
"oldNewFilesSeparator": "",
"oldNewSeparator": "",
"outputDir": "",
"outputRenamedFilesAsDeletedAndAdded": false,
"path": "",
"quotepath": true,
"recoverDeletedFiles": false,
"recoverDeletedFilesToDestination": "",
"recoverFiles": "",
"recoverFilesIgnore": "",
"recoverFilesIgnoreSeparator": "",
"recoverFilesSeparator": "",
"safeOutput": false,
"separator": "",
"sha": "",
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "",
"until": "",
"usePosixPathSeparator": false,
"useRestApi": false,
"writeOutputFiles": false,
}
`;
exports[`getInputs should handle negative numeric inputs correctly 1`] = `
{
"apiUrl": "",
"baseSha": "",
"diffRelative": true,
"dirNames": false,
"dirNamesDeletedFilesIncludeOnlyDeletedDirs": false,
"dirNamesExcludeCurrentDir": false,
"dirNamesIncludeFiles": "",
"dirNamesIncludeFilesSeparator": "",
"dirNamesMaxDepth": -2,
"escapeJson": false,
"excludeSubmodules": false,
"failOnInitialDiffError": false,
"failOnSubmoduleDiffError": false,
"fetchAdditionalSubmoduleHistory": false,
"fetchDepth": 2,
"files": "",
"filesFromSourceFile": "",
"filesFromSourceFileSeparator": "",
"filesIgnore": "",
"filesIgnoreFromSourceFile": "",
"filesIgnoreFromSourceFileSeparator": "",
"filesIgnoreSeparator": "",
"filesIgnoreYaml": "",
"filesIgnoreYamlFromSourceFile": "",
"filesIgnoreYamlFromSourceFileSeparator": "",
"filesSeparator": "",
"filesYaml": "",
"filesYamlFromSourceFile": "",
"filesYamlFromSourceFileSeparator": "",
"includeAllOldNewRenamedFiles": false,
"json": false,
"negationPatternsFirst": false,
"oldNewFilesSeparator": "",
"oldNewSeparator": "",
"outputDir": "",
"outputRenamedFilesAsDeletedAndAdded": false,
"path": "",
"quotepath": true,
"recoverDeletedFiles": false,
"recoverDeletedFilesToDestination": "",
"recoverFiles": "",
"recoverFilesIgnore": "",
"recoverFilesIgnoreSeparator": "",
"recoverFilesSeparator": "",
"safeOutput": false,
"separator": "",
"sha": "",
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "",
"until": "",
"usePosixPathSeparator": false,
"useRestApi": false,
"writeOutputFiles": false,
}
`;
exports[`getInputs should return default values when no inputs are provided 1`] = `
{
"apiUrl": "",
"baseSha": "",
"diffRelative": true,
"dirNames": false,
"dirNamesDeletedFilesIncludeOnlyDeletedDirs": false,
"dirNamesExcludeCurrentDir": false,
"dirNamesIncludeFiles": "",
"dirNamesIncludeFilesSeparator": "",
"escapeJson": false,
"excludeSubmodules": false,
"failOnInitialDiffError": false,
"failOnSubmoduleDiffError": false,
"fetchAdditionalSubmoduleHistory": false,
"fetchMissingHistoryMaxRetries": 20,
"files": "",
"filesFromSourceFile": "",
"filesFromSourceFileSeparator": "",
"filesIgnore": "",
"filesIgnoreFromSourceFile": "",
"filesIgnoreFromSourceFileSeparator": "",
"filesIgnoreSeparator": "",
"filesIgnoreYaml": "",
"filesIgnoreYamlFromSourceFile": "",
"filesIgnoreYamlFromSourceFileSeparator": "",
"filesSeparator": "",
"filesYaml": "",
"filesYamlFromSourceFile": "",
"filesYamlFromSourceFileSeparator": "",
"includeAllOldNewRenamedFiles": false,
"json": false,
"negationPatternsFirst": false,
"oldNewFilesSeparator": " ",
"oldNewSeparator": ",",
"outputDir": "",
"outputRenamedFilesAsDeletedAndAdded": false,
"path": ".",
"quotepath": true,
"recoverDeletedFiles": false,
"recoverDeletedFilesToDestination": "",
"recoverFiles": "",
"recoverFilesIgnore": "",
"recoverFilesIgnoreSeparator": "
",
"recoverFilesSeparator": "
",
"safeOutput": false,
"separator": "",
"sha": "",
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "*",
"token": "",
"until": "",
"usePosixPathSeparator": false,
"useRestApi": false,
"writeOutputFiles": false,
}
`;

View File

@ -0,0 +1,153 @@
import * as core from '@actions/core'
import {getInputs, Inputs} from '../inputs'
import {DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS} from '../constant'
jest.mock('@actions/core')
describe('getInputs', () => {
afterEach(() => {
jest.clearAllMocks()
})
test('should return default values when no inputs are provided', () => {
;(core.getInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
'') as string
})
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
false) as boolean
})
expect(getInputs()).toMatchSnapshot()
})
test('should correctly parse boolean inputs', () => {
;(core.getInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
'') as string
})
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
switch (name) {
case 'matrix':
return 'true'
case 'skip_initial_fetch':
return 'true'
default:
return 'false'
}
})
expect(getInputs()).toMatchSnapshot()
})
test('should handle matrix alias correctly', () => {
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
return name === 'matrix' ? 'true' : 'false'
})
const inputs = getInputs()
expect(inputs).toHaveProperty('json', true)
expect(inputs).toHaveProperty('escapeJson', false)
})
test('should correctly parse string inputs', () => {
;(core.getInput as jest.Mock).mockImplementation(name => {
switch (name) {
case 'token':
return 'token'
case 'api_url':
return 'https://api.github.com'
default:
return ''
}
})
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
false) as boolean
})
expect(getInputs()).toMatchSnapshot()
})
test('should correctly parse numeric inputs', () => {
;(core.getInput as jest.Mock).mockImplementation(name => {
switch (name) {
case 'fetch_depth':
return '5'
case 'dir_names_max_depth':
return '2'
default:
return ''
}
})
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
false) as boolean
})
expect(getInputs()).toMatchSnapshot()
})
test('should handle invalid numeric inputs correctly', () => {
;(core.getInput as jest.Mock).mockImplementation(name => {
// TODO: Add validation for invalid numbers which should result in an error instead of NaN
switch (name) {
case 'fetch_depth':
return 'invalid'
case 'dir_names_max_depth':
return '2'
default:
return ''
}
})
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
false) as boolean
})
expect(getInputs()).toMatchSnapshot()
})
test('should handle negative numeric inputs correctly', () => {
;(core.getInput as jest.Mock).mockImplementation(name => {
// TODO: Add validation for negative numbers which should result in an error
switch (name) {
case 'fetch_depth':
return '-5'
case 'dir_names_max_depth':
return '-2'
default:
return ''
}
})
;(core.getBooleanInput as jest.Mock).mockImplementation(name => {
const camelCaseName = name.replace(/_([a-z])/g, (g: string[]) => {
return g[1].toUpperCase()
}) as keyof Inputs
return (DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS[camelCaseName] ||
false) as boolean
})
expect(getInputs()).toMatchSnapshot()
})
})

View File

@ -1,10 +1,12 @@
import * as core from '@actions/core' import * as core from '@actions/core'
import * as exec from '@actions/exec'
import {ChangeTypeEnum} from '../changedFiles' import {ChangeTypeEnum} from '../changedFiles'
import {Inputs} from '../inputs' import {Inputs} from '../inputs'
import { import {
getDirname, getDirname,
getDirnameMaxDepth, getDirnameMaxDepth,
getFilteredChangedFiles, getFilteredChangedFiles,
getPreviousGitTag,
normalizeSeparators, normalizeSeparators,
warnUnsupportedRESTAPIInputs warnUnsupportedRESTAPIInputs
} from '../utils' } from '../utils'
@ -635,7 +637,12 @@ describe('utils test', () => {
failOnInitialDiffError: false, failOnInitialDiffError: false,
failOnSubmoduleDiffError: false, failOnSubmoduleDiffError: false,
negationPatternsFirst: false, negationPatternsFirst: false,
useRestApi: false useRestApi: false,
excludeSubmodules: false,
fetchMissingHistoryMaxRetries: 20,
usePosixPathSeparator: false,
tagsPattern: '*',
tagsIgnorePattern: ''
} }
const coreWarningSpy = jest.spyOn(core, 'warning') const coreWarningSpy = jest.spyOn(core, 'warning')
@ -651,4 +658,104 @@ describe('utils test', () => {
expect(coreWarningSpy).toHaveBeenCalledTimes(1) expect(coreWarningSpy).toHaveBeenCalledTimes(1)
}) })
}) })
describe('getPreviousGitTag', () => {
// Check if the environment variable GITHUB_REPOSITORY_OWNER is 'tj-actions'
const shouldSkip = !!process.env.GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FORK
// Function returns the second-latest tag and its SHA
it('should return the second latest tag and its SHA when multiple tags are present', async () => {
if (shouldSkip) {
return
}
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({
tag: 'v1.0.0',
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
})
})
// Tags are filtered by a specified pattern when 'tagsPattern' is provided
it('should filter tags by the specified pattern', async () => {
if (shouldSkip) {
return
}
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: 'v1.*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({
tag: 'v1.0.0',
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
})
})
// Tags are excluded by a specified ignore pattern when 'tagsIgnorePattern' is provided
it('should exclude tags by the specified ignore pattern', async () => {
if (shouldSkip) {
return
}
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: 'v0.*.*',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({
tag: 'v1.0.0',
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
})
})
// No tags are available in the repository
it('should return empty values when no tags are available in the repository', async () => {
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
stdout: '',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: '',
currentBranch: ''
})
expect(result).toEqual({tag: '', sha: ''})
})
// Only one tag is available, making it impossible to find a previous tag
it('should return empty values when only one tag is available', async () => {
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
stdout:
'v1.0.1|f0751de6af436d4e79016e2041cf6400e0833653|2021-01-01T00:00:00Z',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({tag: '', sha: ''})
})
// Git commands fail and throw errors
it('should throw an error when git commands fail', async () => {
jest
.spyOn(exec, 'getExecOutput')
.mockRejectedValue(new Error('git command failed'))
await expect(
getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
).rejects.toThrow('git command failed')
})
})
}) })

View File

@ -2,6 +2,7 @@ import * as core from '@actions/core'
import * as github from '@actions/github' import * as github from '@actions/github'
import type {RestEndpointMethodTypes} from '@octokit/rest' import type {RestEndpointMethodTypes} from '@octokit/rest'
import flatten from 'lodash/flatten' import flatten from 'lodash/flatten'
import convertPath from '@stdlib/utils-convert-path'
import mm from 'micromatch' import mm from 'micromatch'
import * as path from 'path' import * as path from 'path'
import {setOutputsAndGetModifiedAndChangedFilesStatus} from './changedFilesOutput' import {setOutputsAndGetModifiedAndChangedFilesStatus} from './changedFilesOutput'
@ -121,13 +122,13 @@ export const processChangedFiles = async ({
export const getRenamedFiles = async ({ export const getRenamedFiles = async ({
inputs, inputs,
workingDirectory, workingDirectory,
hasSubmodule, diffSubmodule,
diffResult, diffResult,
submodulePaths submodulePaths
}: { }: {
inputs: Inputs inputs: Inputs
workingDirectory: string workingDirectory: string
hasSubmodule: boolean diffSubmodule: boolean
diffResult: DiffResult diffResult: DiffResult
submodulePaths: string[] submodulePaths: string[]
}): Promise<{paths: string; count: string}> => { }): Promise<{paths: string; count: string}> => {
@ -139,7 +140,7 @@ export const getRenamedFiles = async ({
oldNewSeparator: inputs.oldNewSeparator oldNewSeparator: inputs.oldNewSeparator
}) })
if (hasSubmodule) { if (diffSubmodule) {
for (const submodulePath of submodulePaths) { for (const submodulePath of submodulePaths) {
const submoduleShaResult = await gitSubmoduleDiffSHA({ const submoduleShaResult = await gitSubmoduleDiffSHA({
cwd: workingDirectory, cwd: workingDirectory,
@ -217,7 +218,7 @@ export type ChangedFiles = {
export const getAllDiffFiles = async ({ export const getAllDiffFiles = async ({
workingDirectory, workingDirectory,
hasSubmodule, diffSubmodule,
diffResult, diffResult,
submodulePaths, submodulePaths,
outputRenamedFilesAsDeletedAndAdded, outputRenamedFilesAsDeletedAndAdded,
@ -226,7 +227,7 @@ export const getAllDiffFiles = async ({
failOnSubmoduleDiffError failOnSubmoduleDiffError
}: { }: {
workingDirectory: string workingDirectory: string
hasSubmodule: boolean diffSubmodule: boolean
diffResult: DiffResult diffResult: DiffResult
submodulePaths: string[] submodulePaths: string[]
outputRenamedFilesAsDeletedAndAdded: boolean outputRenamedFilesAsDeletedAndAdded: boolean
@ -243,7 +244,7 @@ export const getAllDiffFiles = async ({
failOnInitialDiffError failOnInitialDiffError
}) })
if (hasSubmodule) { if (diffSubmodule) {
for (const submodulePath of submodulePaths) { for (const submodulePath of submodulePaths) {
const submoduleShaResult = await gitSubmoduleDiffSHA({ const submoduleShaResult = await gitSubmoduleDiffSHA({
cwd: workingDirectory, cwd: workingDirectory,
@ -355,7 +356,11 @@ function* getChangeTypeFilesGenerator({
filePaths, filePaths,
dirNamesIncludeFilePatterns dirNamesIncludeFilePatterns
})) { })) {
yield filePath if (isWindows() && inputs.usePosixPathSeparator) {
yield convertPath(filePath, 'mixed')
} else {
yield filePath
}
} }
} }
} }
@ -402,7 +407,11 @@ function* getAllChangeTypeFilesGenerator({
filePaths, filePaths,
dirNamesIncludeFilePatterns dirNamesIncludeFilePatterns
})) { })) {
yield filePath if (isWindows() && inputs.usePosixPathSeparator) {
yield convertPath(filePath, 'mixed')
} else {
yield filePath
}
} }
} }
@ -475,7 +484,7 @@ export const getChangedFilesFromGithubAPI = async ({
if (changeType === ChangeTypeEnum.Renamed) { if (changeType === ChangeTypeEnum.Renamed) {
if (inputs.outputRenamedFilesAsDeletedAndAdded) { if (inputs.outputRenamedFilesAsDeletedAndAdded) {
changedFiles[ChangeTypeEnum.Deleted].push(item.filename) changedFiles[ChangeTypeEnum.Deleted].push(item.previous_filename || '')
changedFiles[ChangeTypeEnum.Added].push(item.filename) changedFiles[ChangeTypeEnum.Added].push(item.filename)
} else { } else {
changedFiles[ChangeTypeEnum.Renamed].push(item.filename) changedFiles[ChangeTypeEnum.Renamed].push(item.filename)

View File

@ -247,7 +247,7 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
await setOutput({ await setOutput({
key: getOutputKey('any_changed', outputPrefix), key: getOutputKey('any_changed', outputPrefix),
value: allChangedFiles.paths.length > 0 && filePatterns.length > 0, value: allChangedFiles.paths.length > 0,
writeOutputFiles: inputs.writeOutputFiles, writeOutputFiles: inputs.writeOutputFiles,
outputDir: inputs.outputDir, outputDir: inputs.outputDir,
json: inputs.json json: inputs.json
@ -336,7 +336,7 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
await setOutput({ await setOutput({
key: getOutputKey('any_modified', outputPrefix), key: getOutputKey('any_modified', outputPrefix),
value: allModifiedFiles.paths.length > 0 && filePatterns.length > 0, value: allModifiedFiles.paths.length > 0,
writeOutputFiles: inputs.writeOutputFiles, writeOutputFiles: inputs.writeOutputFiles,
outputDir: inputs.outputDir, outputDir: inputs.outputDir,
json: inputs.json json: inputs.json
@ -442,7 +442,7 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
await setOutput({ await setOutput({
key: getOutputKey('any_deleted', outputPrefix), key: getOutputKey('any_deleted', outputPrefix),
value: deletedFiles.paths.length > 0 && filePatterns.length > 0, value: deletedFiles.paths.length > 0,
writeOutputFiles: inputs.writeOutputFiles, writeOutputFiles: inputs.writeOutputFiles,
outputDir: inputs.outputDir, outputDir: inputs.outputDir,
json: inputs.json json: inputs.json
@ -496,7 +496,7 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
}) })
return { return {
anyModified: allModifiedFiles.paths.length > 0 && filePatterns.length > 0, anyModified: allModifiedFiles.paths.length > 0,
anyChanged: allChangedFiles.paths.length > 0 && filePatterns.length > 0 anyChanged: allChangedFiles.paths.length > 0
} }
} }

View File

@ -86,15 +86,27 @@ export interface DiffResult {
initialCommit?: boolean initialCommit?: boolean
} }
export const getSHAForNonPullRequestEvent = async ( interface SHAForNonPullRequestEvent {
inputs: Inputs, inputs: Inputs
env: Env, env: Env
workingDirectory: string, workingDirectory: string
isShallow: boolean, isShallow: boolean
hasSubmodule: boolean, diffSubmodule: boolean
gitFetchExtraArgs: string[], gitFetchExtraArgs: string[]
isTag: boolean isTag: boolean
): Promise<DiffResult> => { remoteName: string
}
export const getSHAForNonPullRequestEvent = async ({
inputs,
env,
workingDirectory,
isShallow,
diffSubmodule,
gitFetchExtraArgs,
isTag,
remoteName
}: SHAForNonPullRequestEvent): Promise<DiffResult> => {
let targetBranch = env.GITHUB_REF_NAME let targetBranch = env.GITHUB_REF_NAME
let currentBranch = targetBranch let currentBranch = targetBranch
let initialCommit = false let initialCommit = false
@ -122,8 +134,8 @@ export const getSHAForNonPullRequestEvent = async (
'-u', '-u',
'--progress', '--progress',
`--deepen=${inputs.fetchDepth}`, `--deepen=${inputs.fetchDepth}`,
'origin', remoteName,
`+refs/heads/${sourceBranch}:refs/remotes/origin/${sourceBranch}` `+refs/heads/${sourceBranch}:refs/remotes/${remoteName}/${sourceBranch}`
] ]
}) })
} else { } else {
@ -134,13 +146,13 @@ export const getSHAForNonPullRequestEvent = async (
'-u', '-u',
'--progress', '--progress',
`--deepen=${inputs.fetchDepth}`, `--deepen=${inputs.fetchDepth}`,
'origin', remoteName,
`+refs/heads/${targetBranch}:refs/remotes/origin/${targetBranch}` `+refs/heads/${targetBranch}:refs/remotes/${remoteName}/${targetBranch}`
] ]
}) })
} }
if (hasSubmodule) { if (diffSubmodule) {
await gitFetchSubmodules({ await gitFetchSubmodules({
cwd: workingDirectory, cwd: workingDirectory,
args: [ args: [
@ -152,7 +164,7 @@ export const getSHAForNonPullRequestEvent = async (
}) })
} }
} else { } else {
if (hasSubmodule && inputs.fetchAdditionalSubmoduleHistory) { if (diffSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
await gitFetchSubmodules({ await gitFetchSubmodules({
cwd: workingDirectory, cwd: workingDirectory,
args: [ args: [
@ -228,7 +240,12 @@ export const getSHAForNonPullRequestEvent = async (
} }
} else if (isTag) { } else if (isTag) {
core.debug('Getting previous SHA for tag...') core.debug('Getting previous SHA for tag...')
const {sha, tag} = await getPreviousGitTag({cwd: workingDirectory}) const {sha, tag} = await getPreviousGitTag({
cwd: workingDirectory,
tagsPattern: inputs.tagsPattern,
tagsIgnorePattern: inputs.tagsIgnorePattern,
currentBranch
})
previousSha = sha previousSha = sha
targetBranch = tag targetBranch = tag
} else { } else {
@ -307,14 +324,23 @@ export const getSHAForNonPullRequestEvent = async (
} }
} }
export const getSHAForPullRequestEvent = async ( interface SHAForPullRequestEvent {
inputs: Inputs, inputs: Inputs
env: Env, workingDirectory: string
workingDirectory: string, isShallow: boolean
isShallow: boolean, diffSubmodule: boolean
hasSubmodule: boolean,
gitFetchExtraArgs: string[] gitFetchExtraArgs: string[]
): Promise<DiffResult> => { remoteName: string
}
export const getSHAForPullRequestEvent = async ({
inputs,
workingDirectory,
isShallow,
diffSubmodule,
gitFetchExtraArgs,
remoteName
}: SHAForPullRequestEvent): Promise<DiffResult> => {
let targetBranch = github.context.payload.pull_request?.base?.ref let targetBranch = github.context.payload.pull_request?.base?.ref
const currentBranch = github.context.payload.pull_request?.head?.ref const currentBranch = github.context.payload.pull_request?.head?.ref
if (inputs.sinceLastRemoteCommit) { if (inputs.sinceLastRemoteCommit) {
@ -330,7 +356,7 @@ export const getSHAForPullRequestEvent = async (
...gitFetchExtraArgs, ...gitFetchExtraArgs,
'-u', '-u',
'--progress', '--progress',
'origin', remoteName,
`pull/${github.context.payload.pull_request?.number}/head:${currentBranch}` `pull/${github.context.payload.pull_request?.number}/head:${currentBranch}`
] ]
}) })
@ -343,8 +369,8 @@ export const getSHAForPullRequestEvent = async (
'-u', '-u',
'--progress', '--progress',
`--deepen=${inputs.fetchDepth}`, `--deepen=${inputs.fetchDepth}`,
'origin', remoteName,
`+refs/heads/${currentBranch}*:refs/remotes/origin/${currentBranch}*` `+refs/heads/${currentBranch}*:refs/remotes/${remoteName}/${currentBranch}*`
] ]
}) })
} }
@ -354,35 +380,32 @@ export const getSHAForPullRequestEvent = async (
'Failed to fetch pull request branch. Please ensure "persist-credentials" is set to "true" when checking out the repository. See: https://github.com/actions/checkout#usage' 'Failed to fetch pull request branch. Please ensure "persist-credentials" is set to "true" when checking out the repository. See: https://github.com/actions/checkout#usage'
) )
} }
core.debug('Fetching target branch...')
await gitFetch({
cwd: workingDirectory,
args: [
...gitFetchExtraArgs,
'-u',
'--progress',
`--deepen=${inputs.fetchDepth}`,
remoteName,
`+refs/heads/${github.context.payload.pull_request?.base?.ref}:refs/remotes/${remoteName}/${github.context.payload.pull_request?.base?.ref}`
]
})
if (!inputs.sinceLastRemoteCommit) { if (diffSubmodule) {
core.debug('Fetching target branch...') await gitFetchSubmodules({
await gitFetch({
cwd: workingDirectory, cwd: workingDirectory,
args: [ args: [
...gitFetchExtraArgs, ...gitFetchExtraArgs,
'-u', '-u',
'--progress', '--progress',
`--deepen=${inputs.fetchDepth}`, `--deepen=${inputs.fetchDepth}`
'origin',
`+refs/heads/${targetBranch}:refs/remotes/origin/${targetBranch}`
] ]
}) })
if (hasSubmodule) {
await gitFetchSubmodules({
cwd: workingDirectory,
args: [
...gitFetchExtraArgs,
'-u',
'--progress',
`--deepen=${inputs.fetchDepth}`
]
})
}
} }
} else { } else {
if (hasSubmodule && inputs.fetchAdditionalSubmoduleHistory) { if (diffSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
await gitFetchSubmodules({ await gitFetchSubmodules({
cwd: workingDirectory, cwd: workingDirectory,
args: [ args: [
@ -427,10 +450,7 @@ export const getSHAForPullRequestEvent = async (
} }
} }
if ( if (!github.context.payload.pull_request?.base?.ref) {
!github.context.payload.pull_request?.base?.ref ||
github.context.payload.pull_request?.head?.repo?.fork === true
) {
diff = '..' diff = '..'
} }
@ -487,17 +507,14 @@ export const getSHAForPullRequestEvent = async (
} }
} }
} else { } else {
if (github.context.payload.action === 'closed') { previousSha = github.context.payload.pull_request?.base?.sha
previousSha = github.context.payload.pull_request?.base?.sha
} else { if (!previousSha) {
previousSha = await getRemoteBranchHeadSha({ previousSha = await getRemoteBranchHeadSha({
cwd: workingDirectory, cwd: workingDirectory,
remoteName,
branch: targetBranch branch: targetBranch
}) })
if (!previousSha) {
previousSha = github.context.payload.pull_request?.base?.sha
}
} }
if (isShallow) { if (isShallow) {
@ -513,7 +530,11 @@ export const getSHAForPullRequestEvent = async (
'Merge base is not in the local history, fetching remote target branch...' 'Merge base is not in the local history, fetching remote target branch...'
) )
for (let i = 1; i <= 10; i++) { for (
let i = 1;
i <= (inputs.fetchMissingHistoryMaxRetries || 10);
i++
) {
await gitFetch({ await gitFetch({
cwd: workingDirectory, cwd: workingDirectory,
args: [ args: [
@ -521,8 +542,8 @@ export const getSHAForPullRequestEvent = async (
'-u', '-u',
'--progress', '--progress',
`--deepen=${inputs.fetchDepth}`, `--deepen=${inputs.fetchDepth}`,
'origin', remoteName,
`+refs/heads/${targetBranch}:refs/remotes/origin/${targetBranch}` `+refs/heads/${targetBranch}:refs/remotes/${remoteName}/${targetBranch}`
] ]
}) })

View File

@ -20,5 +20,10 @@ export const DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS: Partial<Inputs> = {
oldNewFilesSeparator: ' ', oldNewFilesSeparator: ' ',
skipInitialFetch: false, skipInitialFetch: false,
fetchAdditionalSubmoduleHistory: false, fetchAdditionalSubmoduleHistory: false,
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
excludeSubmodules: false,
fetchMissingHistoryMaxRetries: 20,
usePosixPathSeparator: false,
tagsPattern: '*',
tagsIgnorePattern: ''
} }

View File

@ -1,5 +1,3 @@
import * as core from '@actions/core'
export type Env = { export type Env = {
GITHUB_REF_NAME: string GITHUB_REF_NAME: string
GITHUB_REF: string GITHUB_REF: string
@ -7,8 +5,6 @@ export type Env = {
} }
export const getEnv = async (): Promise<Env> => { export const getEnv = async (): Promise<Env> => {
core.debug(`Env: ${JSON.stringify(process.env, null, 2)}`)
return { return {
GITHUB_REF_NAME: process.env.GITHUB_REF_NAME || '', GITHUB_REF_NAME: process.env.GITHUB_REF_NAME || '',
GITHUB_REF: process.env.GITHUB_REF || '', GITHUB_REF: process.env.GITHUB_REF || '',

View File

@ -54,6 +54,11 @@ export type Inputs = {
failOnSubmoduleDiffError: boolean failOnSubmoduleDiffError: boolean
negationPatternsFirst: boolean negationPatternsFirst: boolean
useRestApi: boolean useRestApi: boolean
excludeSubmodules: boolean
fetchMissingHistoryMaxRetries?: number
usePosixPathSeparator: boolean
tagsPattern: string
tagsIgnorePattern?: string
} }
export const getInputs = (): Inputs => { export const getInputs = (): Inputs => {
@ -154,8 +159,15 @@ export const getInputs = (): Inputs => {
trimWhitespace: false trimWhitespace: false
} }
) )
const json = core.getBooleanInput('json', {required: false}) let json = core.getBooleanInput('json', {required: false})
const escapeJson = core.getBooleanInput('escape_json', {required: false}) let escapeJson = core.getBooleanInput('escape_json', {required: false})
const matrix = core.getBooleanInput('matrix', {required: false})
if (matrix) {
json = true
escapeJson = false
}
const safeOutput = core.getBooleanInput('safe_output', {required: false}) const safeOutput = core.getBooleanInput('safe_output', {required: false})
const fetchDepth = core.getInput('fetch_depth', {required: false}) const fetchDepth = core.getInput('fetch_depth', {required: false})
const sinceLastRemoteCommit = core.getBooleanInput( const sinceLastRemoteCommit = core.getBooleanInput(
@ -233,6 +245,31 @@ export const getInputs = (): Inputs => {
required: false required: false
}) })
const excludeSubmodules = core.getBooleanInput('exclude_submodules', {
required: false
})
const fetchMissingHistoryMaxRetries = core.getInput(
'fetch_missing_history_max_retries',
{required: false}
)
const usePosixPathSeparator = core.getBooleanInput(
'use_posix_path_separator',
{
required: false
}
)
const tagsPattern = core.getInput('tags_pattern', {
required: false,
trimWhitespace: false
})
const tagsIgnorePattern = core.getInput('tags_ignore_pattern', {
required: false,
trimWhitespace: false
})
const inputs: Inputs = { const inputs: Inputs = {
files, files,
filesSeparator, filesSeparator,
@ -272,6 +309,10 @@ export const getInputs = (): Inputs => {
skipInitialFetch, skipInitialFetch,
fetchAdditionalSubmoduleHistory, fetchAdditionalSubmoduleHistory,
dirNamesDeletedFilesIncludeOnlyDeletedDirs, dirNamesDeletedFilesIncludeOnlyDeletedDirs,
excludeSubmodules,
usePosixPathSeparator,
tagsPattern,
tagsIgnorePattern,
// End Not Supported via REST API // End Not Supported via REST API
dirNames, dirNames,
dirNamesExcludeCurrentDir, dirNamesExcludeCurrentDir,
@ -290,6 +331,7 @@ export const getInputs = (): Inputs => {
} }
if (fetchDepth) { if (fetchDepth) {
// Fallback to at least 2 if the fetch_depth is less than 2
inputs.fetchDepth = Math.max(parseInt(fetchDepth, 10), 2) inputs.fetchDepth = Math.max(parseInt(fetchDepth, 10), 2)
} }
@ -297,5 +339,13 @@ export const getInputs = (): Inputs => {
inputs.dirNamesMaxDepth = parseInt(dirNamesMaxDepth, 10) inputs.dirNamesMaxDepth = parseInt(dirNamesMaxDepth, 10)
} }
if (fetchMissingHistoryMaxRetries) {
// Fallback to at least 1 if the fetch_missing_history_max_retries is less than 1
inputs.fetchMissingHistoryMaxRetries = Math.max(
parseInt(fetchMissingHistoryMaxRetries, 10),
1
)
}
return inputs return inputs
} }

View File

@ -64,14 +64,26 @@ const getChangedFilesFromLocalGitHistory = async ({
} }
const isShallow = await isRepoShallow({cwd: workingDirectory}) const isShallow = await isRepoShallow({cwd: workingDirectory})
const hasSubmodule = await submoduleExists({cwd: workingDirectory}) let diffSubmodule = false
let gitFetchExtraArgs = ['--no-tags', '--prune', '--recurse-submodules'] let gitFetchExtraArgs = ['--no-tags', '--prune']
if (inputs.excludeSubmodules) {
core.info('Excluding submodules from the diff')
} else {
diffSubmodule = await submoduleExists({cwd: workingDirectory})
}
if (diffSubmodule) {
gitFetchExtraArgs.push('--recurse-submodules')
}
const isTag = env.GITHUB_REF?.startsWith('refs/tags/') const isTag = env.GITHUB_REF?.startsWith('refs/tags/')
const remoteName = 'origin'
const outputRenamedFilesAsDeletedAndAdded = const outputRenamedFilesAsDeletedAndAdded =
inputs.outputRenamedFilesAsDeletedAndAdded inputs.outputRenamedFilesAsDeletedAndAdded
let submodulePaths: string[] = [] let submodulePaths: string[] = []
if (hasSubmodule) { if (diffSubmodule) {
submodulePaths = await getSubmodulePath({cwd: workingDirectory}) submodulePaths = await getSubmodulePath({cwd: workingDirectory})
} }
@ -83,29 +95,30 @@ const getChangedFilesFromLocalGitHistory = async ({
if (!github.context.payload.pull_request?.base?.ref) { if (!github.context.payload.pull_request?.base?.ref) {
core.info(`Running on a ${github.context.eventName || 'push'} event...`) core.info(`Running on a ${github.context.eventName || 'push'} event...`)
diffResult = await getSHAForNonPullRequestEvent( diffResult = await getSHAForNonPullRequestEvent({
inputs, inputs,
env, env,
workingDirectory, workingDirectory,
isShallow, isShallow,
hasSubmodule, diffSubmodule,
gitFetchExtraArgs, gitFetchExtraArgs,
isTag isTag,
) remoteName
})
} else { } else {
core.info( core.info(
`Running on a ${github.context.eventName || 'pull_request'} (${ `Running on a ${github.context.eventName || 'pull_request'} (${
github.context.payload.action github.context.payload.action
}) event...` }) event...`
) )
diffResult = await getSHAForPullRequestEvent( diffResult = await getSHAForPullRequestEvent({
inputs, inputs,
env,
workingDirectory, workingDirectory,
isShallow, isShallow,
hasSubmodule, diffSubmodule,
gitFetchExtraArgs gitFetchExtraArgs,
) remoteName
})
} }
if (diffResult.initialCommit) { if (diffResult.initialCommit) {
@ -120,7 +133,7 @@ const getChangedFilesFromLocalGitHistory = async ({
const allDiffFiles = await getAllDiffFiles({ const allDiffFiles = await getAllDiffFiles({
workingDirectory, workingDirectory,
hasSubmodule, diffSubmodule,
diffResult, diffResult,
submodulePaths, submodulePaths,
outputRenamedFilesAsDeletedAndAdded, outputRenamedFilesAsDeletedAndAdded,
@ -146,7 +159,7 @@ const getChangedFilesFromLocalGitHistory = async ({
deletedFiles: allDiffFiles[ChangeTypeEnum.Deleted], deletedFiles: allDiffFiles[ChangeTypeEnum.Deleted],
recoverPatterns, recoverPatterns,
diffResult, diffResult,
hasSubmodule, diffSubmodule,
submodulePaths submodulePaths
}) })
} }
@ -164,7 +177,7 @@ const getChangedFilesFromLocalGitHistory = async ({
const allOldNewRenamedFiles = await getRenamedFiles({ const allOldNewRenamedFiles = await getRenamedFiles({
inputs, inputs,
workingDirectory, workingDirectory,
hasSubmodule, diffSubmodule,
diffResult, diffResult,
submodulePaths submodulePaths
}) })
@ -221,8 +234,6 @@ export async function run(): Promise<void> {
const inputs = getInputs() const inputs = getInputs()
core.debug(`Inputs: ${JSON.stringify(inputs, null, 2)}`) core.debug(`Inputs: ${JSON.stringify(inputs, null, 2)}`)
core.debug(`Github Context: ${JSON.stringify(github.context, null, 2)}`)
const workingDirectory = path.resolve( const workingDirectory = path.resolve(
env.GITHUB_WORKSPACE || process.cwd(), env.GITHUB_WORKSPACE || process.cwd(),
inputs.useRestApi ? '.' : inputs.path inputs.useRestApi ? '.' : inputs.path
@ -280,11 +291,8 @@ export async function run(): Promise<void> {
} }
} }
/* istanbul ignore if */ // eslint-disable-next-line github/no-then
if (!process.env.TESTING) { run().catch(e => {
// eslint-disable-next-line github/no-then core.setFailed(e.message || e)
run().catch(e => { process.exit(1)
core.setFailed(e.message || e) })
process.exit(1)
})
}

View File

@ -32,11 +32,13 @@ export const normalizeSeparators = (p: string): string => {
// Remove redundant slashes // Remove redundant slashes
const isUnc = /^\\\\+[^\\]/.test(p) // e.g. \\hello const isUnc = /^\\\\+[^\\]/.test(p) // e.g. \\hello
return (isUnc ? '\\' : '') + p.replace(/\\\\+/g, '\\') // preserve leading \\ for UNC p = (isUnc ? '\\' : '') + p.replace(/\\\\+/g, '\\') // preserve leading \\ for UNC
} else {
// Remove redundant slashes on Linux/macOS
p = p.replace(/\/\/+/g, '/')
} }
// Remove redundant slashes return p
return p.replace(/\/\/+/g, '/')
} }
/** /**
@ -680,25 +682,21 @@ export const isInsideWorkTree = async ({
} }
) )
if (stdout.trim() !== 'true') {
core.debug(
`The current working directory is not inside a git repository: ${cwd}`
)
}
return stdout.trim() === 'true' return stdout.trim() === 'true'
} }
export const getRemoteBranchHeadSha = async ({ export const getRemoteBranchHeadSha = async ({
cwd, cwd,
branch branch,
remoteName
}: { }: {
cwd: string cwd: string
branch: string branch: string
remoteName: string
}): Promise<string> => { }): Promise<string> => {
const {stdout} = await exec.getExecOutput( const {stdout} = await exec.getExecOutput(
'git', 'git',
['rev-parse', `origin/${branch}`], ['rev-parse', `${remoteName}/${branch}`],
{ {
cwd, cwd,
silent: !core.isDebug() silent: !core.isDebug()
@ -833,41 +831,80 @@ export const cleanShaInput = async ({
return stdout.trim() return stdout.trim()
} }
export const getPreviousGitTag = async ({ export const getPreviousGitTag = async ({
cwd cwd,
tagsPattern,
currentBranch,
tagsIgnorePattern
}: { }: {
cwd: string cwd: string
tagsPattern: string
currentBranch: string
tagsIgnorePattern?: string
}): Promise<{tag: string; sha: string}> => { }): Promise<{tag: string; sha: string}> => {
const ignorePatterns: string[] = []
let currentShaDate: Date | null = null
const {stdout} = await exec.getExecOutput( const {stdout} = await exec.getExecOutput(
'git', 'git',
['tag', '--sort=-creatordate'], [
'tag',
'--sort=-creatordate',
'--format=%(refname:short)|%(objectname)|%(creatordate:iso)'
],
{ {
cwd, cwd,
silent: !core.isDebug() silent: !core.isDebug()
} }
) )
const tags = stdout.trim().split('\n') if (tagsIgnorePattern) {
ignorePatterns.push(tagsIgnorePattern)
if (tags.length < 2) {
core.warning('No previous tag found')
return {tag: '', sha: ''}
} }
const previousTag = tags[1] if (currentBranch) {
ignorePatterns.push(currentBranch)
const {stdout: stdout2} = await exec.getExecOutput( try {
'git', const {stdout: currentShaDateOutput} = await exec.getExecOutput(
['rev-parse', previousTag], 'git',
{ ['show', '-s', '--format=%ai', currentBranch],
cwd, {
silent: !core.isDebug() cwd,
silent: !core.isDebug()
}
)
currentShaDate = new Date(currentShaDateOutput.trim())
} catch (error) {
// Handle the case where the current branch doesn't exist
// This might happen in detached head state
core.warning(`Failed to get date for current branch ${currentBranch}`)
} }
) }
const sha = stdout2.trim() const previousTag: {tag: string; sha: string} = {tag: '', sha: ''}
return {tag: previousTag, sha} const tags = stdout.trim().split('\n')
for (const tagData of tags) {
const [tag, sha, dateString] = tagData.split('|')
if (!mm.isMatch(tag, tagsPattern) || mm.isMatch(tag, ignorePatterns)) {
continue
}
const date = new Date(dateString)
if (currentShaDate && date >= currentShaDate) {
continue
}
// Found a suitable tag, no need to continue
previousTag.tag = tag
previousTag.sha = sha
break
}
if (!previousTag.tag) {
core.warning('No previous tag found')
}
return previousTag
} }
export const canDiffCommits = async ({ export const canDiffCommits = async ({
@ -1221,16 +1258,11 @@ export const getYamlFilePatterns = async ({
const newFilePatterns = await getYamlFilePatternsFromContents({filePath}) const newFilePatterns = await getYamlFilePatternsFromContents({filePath})
for (const key in newFilePatterns) { for (const key in newFilePatterns) {
if (key in filePatterns) { if (key in filePatterns) {
core.warning( filePatterns[key] = [...filePatterns[key], ...newFilePatterns[key]]
`files_yaml_from_source_file: Duplicated key ${key} detected in ${filePath}, the ${filePatterns[key]} will be overwritten by ${newFilePatterns[key]}.` } else {
) filePatterns[key] = newFilePatterns[key]
} }
} }
filePatterns = {
...filePatterns,
...newFilePatterns
}
} }
} }
@ -1242,9 +1274,12 @@ export const getYamlFilePatterns = async ({
for (const key in newIgnoreFilePatterns) { for (const key in newIgnoreFilePatterns) {
if (key in filePatterns) { if (key in filePatterns) {
core.warning( filePatterns[key] = [
`files_ignore_yaml: Duplicated key ${key} detected, the ${filePatterns[key]} will be overwritten by ${newIgnoreFilePatterns[key]}.` ...filePatterns[key],
) ...newIgnoreFilePatterns[key]
]
} else {
filePatterns[key] = newIgnoreFilePatterns[key]
} }
} }
} }
@ -1268,16 +1303,14 @@ export const getYamlFilePatterns = async ({
for (const key in newIgnoreFilePatterns) { for (const key in newIgnoreFilePatterns) {
if (key in filePatterns) { if (key in filePatterns) {
core.warning( filePatterns[key] = [
`files_ignore_yaml_from_source_file: Duplicated key ${key} detected in ${filePath}, the ${filePatterns[key]} will be overwritten by ${newIgnoreFilePatterns[key]}.` ...filePatterns[key],
) ...newIgnoreFilePatterns[key]
]
} else {
filePatterns[key] = newIgnoreFilePatterns[key]
} }
} }
filePatterns = {
...filePatterns,
...newIgnoreFilePatterns
}
} }
} }
@ -1417,7 +1450,7 @@ export const recoverDeletedFiles = async ({
deletedFiles, deletedFiles,
recoverPatterns, recoverPatterns,
diffResult, diffResult,
hasSubmodule, diffSubmodule,
submodulePaths submodulePaths
}: { }: {
inputs: Inputs inputs: Inputs
@ -1425,7 +1458,7 @@ export const recoverDeletedFiles = async ({
deletedFiles: string[] deletedFiles: string[]
recoverPatterns: string[] recoverPatterns: string[]
diffResult: DiffResult diffResult: DiffResult
hasSubmodule: boolean diffSubmodule: boolean
submodulePaths: string[] submodulePaths: string[]
}): Promise<void> => { }): Promise<void> => {
let recoverableDeletedFiles = deletedFiles let recoverableDeletedFiles = deletedFiles
@ -1455,7 +1488,7 @@ export const recoverDeletedFiles = async ({
const submodulePath = submodulePaths.find(p => deletedFile.startsWith(p)) const submodulePath = submodulePaths.find(p => deletedFile.startsWith(p))
if (hasSubmodule && submodulePath) { if (diffSubmodule && submodulePath) {
const submoduleShaResult = await gitSubmoduleDiffSHA({ const submoduleShaResult = await gitSubmoduleDiffSHA({
cwd: workingDirectory, cwd: workingDirectory,
parentSha1: diffResult.previousSha, parentSha1: diffResult.previousSha,

1
test/new.md Normal file
View File

@ -0,0 +1 @@
This is a test markdown file

View File

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

View File

@ -1,6 +1,6 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ "target": "ES2018", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"outDir": "./lib", /* Redirect output structure to the directory. */ "outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */

2564
yarn.lock

File diff suppressed because it is too large Load Diff