Compare commits

...

151 Commits
v6.2 ... v1.0.3

Author SHA1 Message Date
Tonye Jack
55a857d66a Update removing trailing separator (#182)
* Update removing trailing separator

* Update test new.txt
2021-09-03 03:38:10 -04:00
Tonye Jack
684c3a8487 Update README.md 2021-08-29 12:35:45 -04:00
Tonye Jack
9d6b2c32e8 Update README.md 2021-08-29 12:26:16 -04:00
Tonye Jack
e6c1b2487a Update README.md (#178) 2021-08-29 11:28:33 -04:00
Tonye Jack
506cc732d4 Upgraded from v1.0.1 -> v1.0.2 (#176)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-28 05:40:10 -04:00
Tonye Jack
62a9200adf Fixed bug with parsing filenames that contain quotes (#174) 2021-08-27 22:59:23 -04:00
Tonye Jack
1126e5084e Upgraded to v1.0.1 (#173)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-27 22:12:49 -04:00
Tonye Jack
e47f6a420a Updated README.md (#172)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-27 22:01:40 -04:00
Tonye Jack
19eb759935 Update README.md 2021-08-27 22:01:21 -04:00
Tonye Jack
03274db805 Updated README.md (#171)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-27 21:58:49 -04:00
Tonye Jack
1d51af8e6a Update README.md 2021-08-27 21:58:32 -04:00
allcontributors[bot]
00d592baeb docs: add IvanPizhenko as a contributor for code, doc (#170)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-08-27 21:57:25 -04:00
Tonye Jack
79f5fc819f Update .all-contributorsrc 2021-08-27 21:55:55 -04:00
Ivan Pizhenko
8a41500fbe Implement path parameter (#168)
* Implement path parameter

* Add test

* Update README.md

* Corrections after code review

* Update action.yml

* Update test.yml

* Do not use realpath

* Update entrypoint.sh

* Update test.yml

Co-authored-by: Ivan Pizhenko <IvanPizhenko@users.noreply.github.com>
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2021-08-27 21:53:03 -04:00
Renovate Bot
fcd69a6202 Update peter-evans/create-pull-request action to v3.10.1 2021-08-23 02:19:39 -04:00
Renovate Bot
005b4f86af Update tj-actions/branch-names action to v4.9 2021-08-22 23:57:49 -04:00
Renovate Bot
4d091f8b2c Update tj-actions/remark action to v1.7 2021-08-22 18:56:07 -04:00
Tonye Jack
c035ac4746 Update README.md 2021-08-22 17:33:01 -04:00
Tonye Jack
733250a98f Update README.md 2021-08-22 17:31:21 -04:00
Tonye Jack
d807308d1c Update README.md 2021-08-22 17:29:38 -04:00
Tonye Jack
083bed6459 Upgraded to v1.0.0 (#160)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-18 07:32:43 -04:00
Tonye Jack
b80d9cca04 Fix persisting origin URL (#159) 2021-08-17 20:03:07 -04:00
Tonye Jack
2f8c46f9d7 Upgraded to v9.3 (#157)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-09 09:04:17 -04:00
Tonye Jack
2a771ad30d Remove deleted files from the all_modified_files output (#156) 2021-08-09 08:57:25 -04:00
Tonye Jack
11048977f0 Update README.md 2021-08-07 01:13:45 -04:00
Tonye Jack
b5198a4764 Upgraded from v9.1 -> v9.2 (#154)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-08-06 07:13:33 -04:00
Tonye Jack
75933dc40b Dedupe output file names. (#153) 2021-08-06 06:14:50 -04:00
Tonye Jack
dc688ad0b2 Update README.md 2021-08-04 15:49:55 -04:00
Renovate Bot
5cab6c42e2 Update tj-actions/branch-names action to v4.8 2021-08-04 15:39:42 -04:00
Tonye Jack
cc5b16fc9d Updated .github/ISSUE_TEMPLATE/bug_report.yaml 2021-08-02 18:16:39 -04:00
Tonye Jack
ba01a24d10 Added .github/workflows/codacy-analysis.yml 2021-07-30 13:34:38 -04:00
Tonye Jack
a48d12ad38 Deleted .github/workflows/codacy-analysis.yml 2021-07-30 13:32:11 -04:00
Tonye Jack
dfe8a2779d Upgraded to v9.1 (#150)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-30 12:30:32 -04:00
Tonye Jack
2c0d12b627 Detect deleted files via any_changed output (#149) 2021-07-30 12:14:01 -04:00
Renovate Bot
3a01bb540d Update reviewdog/action-shellcheck action to v1.7 2021-07-26 12:44:49 -04:00
Tonye Jack
fba57fd3c6 Upgraded to v9 (#146)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-24 08:59:50 -04:00
Tonye Jack
7abdbc94e9 Update any_changed to include renamed files. (#145) 2021-07-24 08:53:47 -04:00
Renovate Bot
4f76fe6a8e Update codacy/codacy-analysis-cli-action action to v4 2021-07-23 08:02:23 -04:00
Tonye Jack
1d1f2dec19 Update README.md 2021-07-20 15:32:52 -04:00
Renovate Bot
01fb130d1e Update codacy/codacy-analysis-cli-action action to v3 2021-07-19 15:36:26 -04:00
Tonye Jack
031c7ba276 Updated .github/workflows/codacy-analysis.yml 2021-07-19 15:23:23 -04:00
Tonye Jack
304c203f25 Added .github/workflows/codacy-analysis.yml 2021-07-19 15:20:30 -04:00
Tonye Jack
2e02d49f78 Update README.md 2021-07-19 15:08:49 -04:00
Tonye Jack
677631125b Upgraded to v8.9 (#140)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-17 23:56:30 -04:00
Tonye Jack
675ab58887 Update action.yml 2021-07-17 21:33:35 -04:00
Tonye Jack
21a9d525da Updated README.md (#139)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-17 21:27:50 -04:00
Tonye Jack
5a860fa1ae Update README.md 2021-07-17 21:26:57 -04:00
Tonye Jack
1b6483d0e7 Upgraded to v8.8 (#138)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-17 15:19:05 -04:00
Tonye Jack
8c6f276ea5 Added support for detecting non specific file changes. (#137) 2021-07-17 15:13:26 -04:00
Tonye Jack
cb4914b39a Upgraded to v8.7 (#136)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-17 11:59:23 -04:00
Tonye Jack
d825b1f709 Update test.yml 2021-07-17 11:54:59 -04:00
Tonye Jack
ca4eaaf129 Update README.md 2021-07-17 11:53:36 -04:00
Tonye Jack
4530127b24 Update README.md 2021-07-17 11:52:34 -04:00
Tonye Jack
a22f734463 Update README.md 2021-07-17 11:49:12 -04:00
Tonye Jack
43ddf0c457 Added support for a custom base sha. (#135) 2021-07-17 11:46:59 -04:00
Tonye Jack
2096ed00f7 Upgraded to v8.6 (#134)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-17 11:03:41 -04:00
Tonye Jack
20681a5b4f Update README.md 2021-07-17 11:01:24 -04:00
Tonye Jack
0bd70b7aec Updated README.md (#133)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-17 10:55:22 -04:00
Tonye Jack
377d0bb796 Update README.md 2021-07-17 10:54:03 -04:00
Tonye Jack
bd55e90a0a Added support for retrieving the files input using a source file. (#132) 2021-07-17 10:51:08 -04:00
Tonye Jack
256e64f4cc Update README.md 2021-07-16 11:29:34 -04:00
Tonye Jack
202fce939f Update action.yml 2021-07-15 06:03:07 -04:00
Tonye Jack
410c5bd269 Update README.md 2021-07-15 06:02:09 -04:00
Tonye Jack
0bdbb6ef89 Update README.md 2021-07-15 06:01:37 -04:00
Tonye Jack
7d8b8c4fb3 Upgraded to v8.5 (#129)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-14 17:18:35 -04:00
Tonye Jack
0fe67a1f15 Updated README.md (#128)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-14 17:01:31 -04:00
allcontributors[bot]
53a29f98f5 docs: add Kras4ooo as a contributor for code, doc (#127)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2021-07-14 16:58:53 -04:00
Krasimir Nikolov
53afe7a5b5 Add custom source sha (#126)
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2021-07-14 16:57:17 -04:00
Tonye Jack
b4b0cdd1b5 Added .github/workflows/greetings.yml 2021-07-14 11:50:44 -04:00
Tonye Jack
25bc48dc22 Updated README.md (#123)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-06 21:24:58 -04:00
Tonye Jack
5b842506f3 Updated README.md (#122)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-06 14:51:52 -04:00
Tonye Jack
d037d57af6 Update README.md 2021-07-06 14:51:18 -04:00
Tonye Jack
6124995d9d Update README.md 2021-07-06 14:46:43 -04:00
Tonye Jack
8dd8e28f8a Update entrypoint.sh 2021-07-06 14:42:55 -04:00
Tonye Jack
708c43a168 Updated .github/ISSUE_TEMPLATE/bug_report.yaml 2021-07-02 16:47:51 -04:00
Tonye Jack
828fe99e14 Updated .github/ISSUE_TEMPLATE/bug_report.yaml 2021-07-02 16:46:31 -04:00
Tonye Jack
0f979ea79a Added CODE_OF_CONDUCT.md 2021-07-02 16:43:52 -04:00
Tonye Jack
8b48200c3e Deleted .github/ISSUE_TEMPLATE/feature_request.md 2021-07-02 16:35:07 -04:00
Tonye Jack
5011643f10 Added .github/ISSUE_TEMPLATE/feature_request.yaml 2021-07-02 16:32:52 -04:00
Tonye Jack
cb1c256b21 Deleted .github/ISSUE_TEMPLATE/bug_report.md 2021-07-02 16:21:17 -04:00
Tonye Jack
19748dbf75 Added .github/ISSUE_TEMPLATE/bug_report.yaml 2021-07-02 16:20:41 -04:00
Tonye Jack
0813144c8a Added .whitesource 2021-07-02 12:52:34 -04:00
Tonye Jack
d880b079d2 Update README.md 2021-07-02 09:33:36 -04:00
Tonye Jack
13f88ce2f7 Update README.md 2021-07-01 16:16:36 -04:00
Tonye Jack
1116e7318e Updated README.md (#120)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-07-01 16:15:32 -04:00
Tonye Jack
f0eb196cb1 Update README.md 2021-07-01 16:13:38 -04:00
Tonye Jack
28cd30a219 Update README.md 2021-06-27 12:24:46 -04:00
Tonye Jack
f71e36d38d Upgraded from v8.3 -> v8.4 (#119)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-27 07:21:38 -04:00
Tonye Jack
7bfa539f0d Update README.md 2021-06-26 12:12:28 -04:00
Renovate Bot
4db62cd596 Update reviewdog/action-shellcheck action to v1.6 2021-06-26 10:36:46 -04:00
Tonye Jack
654e9a041e Add message grouping (#117) 2021-06-26 10:20:56 -04:00
Tonye Jack
9af8ec1a72 Upgraded to v8.3 (#116)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-25 15:23:19 -04:00
Tonye Jack
d679de9200 Fixed empty branch name in debug message (#115) 2021-06-25 14:58:59 -04:00
Tonye Jack
e5890a16d1 Update README.md 2021-06-25 07:24:10 -04:00
Tonye Jack
76699419e3 Upgraded to v8.2 (#114)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-24 16:49:55 -04:00
Tonye Jack
1e10ed4950 Update arrow direction and added branch information (#113) 2021-06-24 16:46:31 -04:00
Tonye Jack
d8a3837b58 Delete codacy-analysis.yml 2021-06-24 12:55:41 -04:00
Tonye Jack
812f1ba385 Create codacy-analysis.yml 2021-06-24 12:38:48 -04:00
Tonye Jack
b8ad14b306 Updated README.md (#112)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-23 09:34:52 -04:00
Tonye Jack
b18824c9f0 Update README.md 2021-06-22 22:54:31 -04:00
Renovate Bot
1da043e160 Update tj-actions/verify-changed-files action to v7 2021-06-22 22:11:54 -04:00
Tonye Jack
f9f0a46798 Update action.yml 2021-06-21 18:36:10 -04:00
Tonye Jack
51a1c2074d Update README.md 2021-06-21 18:35:17 -04:00
Tonye Jack
3772657346 Update README.md 2021-06-21 18:34:15 -04:00
Tonye Jack
67831ca117 Upgraded to v8.1 (#110)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-18 19:33:45 -04:00
Tonye Jack
0754fdabe3 Rename changed_files to type_changed_files (#109) 2021-06-18 19:28:02 -04:00
Tonye Jack
d290bdd91e Fix bug with input token 2021-06-18 19:15:18 -04:00
Tonye Jack
73f135c7fa Add macos to test. (#107) 2021-06-18 19:09:00 -04:00
Tonye Jack
d5520e1e13 Fixed missing env variables (#108) 2021-06-18 19:03:51 -04:00
Tonye Jack
58d2c2ff31 Update test.yml 2021-06-18 15:05:37 -04:00
Tonye Jack
b93fc4e17e Delete Dockerfile 2021-06-18 14:46:08 -04:00
Tonye Jack
8f01cb5faa Updated README.md (#106)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-18 14:41:28 -04:00
Tonye Jack
a9723f45ea Update README.md 2021-06-18 14:34:42 -04:00
Tonye Jack
b658cd4874 Update README.md 2021-06-18 13:38:07 -04:00
Tonye Jack
48397d4073 Upgraded to v8 (#104)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-18 10:28:28 -04:00
Tonye Jack
c41bb1b973 Updated README.md (#103)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-18 10:26:53 -04:00
Tonye Jack
58d63b3769 Update README.md 2021-06-18 10:24:24 -04:00
Tonye Jack
6254a409a7 Add support for multiple platforms (#102) 2021-06-18 10:19:28 -04:00
Tonye Jack
dc711ae840 Update README.md 2021-06-17 15:52:39 -04:00
renovate[bot]
274863210e Update alpine Docker tag to v3.14.0 (#99)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:08:57 -04:00
Tonye Jack
5a4a0bb928 Updated README.md (#98)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-09 21:07:30 -04:00
Tonye Jack
7e6d51ee5b Update README.md 2021-06-09 21:02:07 -04:00
Tonye Jack
4da8ecd620 Update README.md 2021-06-09 21:01:10 -04:00
allcontributors[bot]
d967a177e2 docs: add monoxgas as a contributor for code (#97)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-06-09 19:12:15 -04:00
allcontributors[bot]
1937b56341 docs: add jsoref as a contributor for doc (#96)
* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-06-09 19:07:22 -04:00
Tonye Jack
9c41fbbf3a Upgraded to v7 (#94)
* Upgraded from v6 -> v7

* Update README.md

Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-09 18:20:27 -04:00
Tonye Jack
15b1769fc5 Clean up debug message (#93)
* Clean up debug message

* Update entrypoint.sh
2021-06-09 18:11:27 -04:00
Nick Landers
f32b39dc36 Make the changes between two commits more explicit (#92)
* Make explicit the changes between two commits

* Add GITHUB_SHA support
2021-06-09 17:52:54 -04:00
Tonye Jack
4960867083 Updated README.md (#91)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-06-09 11:55:30 -04:00
Tonye Jack
969f2cba67 Added .github/workflows/update-readme.yml 2021-06-09 11:15:29 -04:00
Josh Soref
a0682a8245 Punctuation (#90) 2021-06-09 09:31:52 -04:00
Tonye Jack
11eb1ff90c Update README.md 2021-06-05 18:52:05 -04:00
Tonye Jack
ed6c88af0a Update README.md 2021-06-05 17:34:49 -04:00
Tonye Jack
00503bc68b Update README.md 2021-06-05 16:53:58 -04:00
Tonye Jack
8b6518fd1d Update README.md 2021-06-05 16:51:43 -04:00
Tonye Jack
2402e035c5 Update README.md 2021-06-03 07:02:25 -04:00
Tonye Jack
737a5e230f Update README.md (#89) 2021-06-03 06:57:40 -04:00
Tonye Jack
fbbf180f25 Update README.md 2021-05-30 22:57:56 -04:00
Renovate Bot
3db7129dbc Update tj-actions/sync-release-version action to v8.7 2021-05-29 21:48:45 -04:00
Tonye Jack
8c4ef03028 Update README.md 2021-05-29 21:42:01 -04:00
Tonye Jack
c804430756 Updated .github/workflows/auto-merge.yml 2021-05-28 11:41:44 -04:00
Tonye Jack
a4ea86e71f Updated .github/workflows/auto-merge.yml 2021-05-28 11:23:59 -04:00
Tonye Jack
c4acb795c5 Updated .github/workflows/auto-approve.yml 2021-05-27 12:38:25 -04:00
Tonye Jack
67bbc48934 Updated .github/workflows/auto-merge.yml 2021-05-27 12:35:05 -04:00
Tonye Jack
c7b18dbe14 Update README.md 2021-05-26 18:09:18 -04:00
Tonye Jack
b5b22b1a9f Upgraded to v6.3 (#85)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-26 18:06:29 -04:00
Tonye Jack
2ecd06deb6 Added usage link to warning message (#84) 2021-05-26 18:01:44 -04:00
Renovate Bot
ba98ceed2d Update pascalgn/automerge-action action to v0.14.2 2021-05-26 21:43:50 +00:00
Tonye Jack
518dba3e05 Update README.md (#82) 2021-05-25 17:39:15 -04:00
Tonye Jack
0389470572 Updated renovate.json 2021-05-25 08:39:01 -04:00
Tonye Jack
8f723a129d Updated .github/workflows/auto-approve.yml 2021-05-25 00:49:42 -04:00
22 changed files with 1286 additions and 224 deletions

53
.all-contributorsrc Normal file
View File

@@ -0,0 +1,53 @@
{
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"contributors": [
{
"login": "jsoref",
"name": "Josh Soref",
"avatar_url": "https://avatars.githubusercontent.com/u/2119212?v=4",
"profile": "https://github.com/jsoref",
"contributions": [
"doc"
]
},
{
"login": "monoxgas",
"name": "Nick Landers",
"avatar_url": "https://avatars.githubusercontent.com/u/1223016?v=4",
"profile": "https://github.com/monoxgas",
"contributions": [
"code"
]
},
{
"login": "Kras4ooo",
"name": "Krasimir Nikolov",
"avatar_url": "https://avatars.githubusercontent.com/u/1948054?v=4",
"profile": "https://github.com/Kras4ooo",
"contributions": [
"code",
"doc"
]
},
{
"login": "IvanPizhenko",
"name": "Ivan Pizhenko",
"avatar_url": "https://avatars.githubusercontent.com/u/11859904?v=4",
"profile": "https://github.com/IvanPizhenko",
"contributions": [
"code",
"doc"
]
}
],
"contributorsPerLine": 7,
"projectName": "changed-files",
"projectOwner": "tj-actions",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true
}

View File

@@ -1,32 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

85
.github/ISSUE_TEMPLATE/bug_report.yaml vendored Normal file
View File

@@ -0,0 +1,85 @@
name: 🐞 Bug
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [bug, needs triage]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
id: what-happened
attributes:
label: Describe the bug?
description: A clear and concise description of what the bug is
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: To Reproduce
description: Steps to reproduce the behavior?
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: dropdown
id: os
attributes:
label: What OS are you seeing the problem on?
multiple: true
options:
- all
- ubuntu-latest or ubuntu-20.04
- ubuntu-18.04
- macos-latest or macos-10.15
- macos-11
- windows-latest or windows-2019
- windows-2016
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior?
description: A clear and concise description of what you expected to happen.
placeholder: Tell us what you expected!
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
attributes:
label: Anything else?
description: |
Links? or References?
Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](../blob/main/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -1,20 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,52 @@
name: Feature request
description: Suggest an idea for this project
title: "[Feature] <title>"
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: textarea
id: what-happened
attributes:
label: Is your feature request related to a problem? Please describe.
description: |
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: requests
attributes:
label: Describe the solution you'd like?
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternative
attributes:
label: Describe alternatives you've considered?
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? or References?
Add any other context or screenshots about the feature request here.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](./CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@@ -7,17 +7,26 @@ jobs:
auto-approve:
runs-on: ubuntu-latest
steps:
- uses: hmarr/auto-approve-action@v2
if: |
github.actor == 'dependabot[bot]' ||
github.actor == 'dependabot' ||
github.actor == 'dependabot-preview[bot]' ||
github.actor == 'dependabot-preview' ||
github.actor == 'renovate[bot]' ||
github.actor == 'renovate' ||
github.actor == 'pyup-bot' ||
github.actor == 'github-actions[bot]' ||
github.actor == 'pre-commit-ci' ||
github.actor == 'pre-commit-ci[bot]'
with:
github-token: ${{ secrets.PAT_TOKEN }}
- uses: hmarr/auto-approve-action@v2
if: |
(
github.event.pull_request.user.login == 'dependabot[bot]' ||
github.event.pull_request.user.login == 'dependabot' ||
github.event.pull_request.user.login == 'dependabot-preview[bot]' ||
github.event.pull_request.user.login == 'dependabot-preview' ||
github.event.pull_request.user.login == 'renovate[bot]' ||
github.event.pull_request.user.login == 'renovate' ||
github.event.pull_request.user.login == 'github-actions[bot]'
)
&&
(
github.actor == 'dependabot[bot]' ||
github.actor == 'dependabot' ||
github.actor == 'dependabot-preview[bot]' ||
github.actor == 'dependabot-preview' ||
github.actor == 'renovate[bot]' ||
github.actor == 'renovate' ||
github.actor == 'github-actions[bot]'
)
with:
github-token: ${{ secrets.PAT_TOKEN }}

View File

@@ -10,12 +10,16 @@ jobs:
runs-on: ubuntu-latest
if: |
github.actor == 'dependabot[bot]' ||
github.actor == 'dependabot'
github.actor == 'dependabot' ||
github.actor == 'dependabot-preview[bot]' ||
github.actor == 'dependabot-preview' ||
github.actor == 'renovate[bot]' ||
github.actor == 'renovate'
steps:
- name: automerge
uses: pascalgn/automerge-action@v0.14.1
uses: pascalgn/automerge-action@v0.14.2
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN || github.token }}
MERGE_METHOD: "rebase"
UPDATE_METHOD: "rebase"
MERGE_RETRIES: "6"

49
.github/workflows/codacy-analysis.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
# This workflow checks out code, performs a Codacy security scan
# and integrates the results with the
# GitHub Advanced Security code scanning feature. For more information on
# the Codacy security scan action usage and parameters, see
# https://github.com/codacy/codacy-analysis-cli-action.
# For more information on Codacy Analysis CLI in general, see
# https://github.com/codacy/codacy-analysis-cli.
name: Codacy Security Scan
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '15 16 * * 2'
jobs:
codacy-security-scan:
name: Codacy Security Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout code
uses: actions/checkout@v2
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@4.0.0
with:
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
# You can also omit the token and run the tools that support default configurations
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
verbose: true
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif

13
.github/workflows/greetings.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Greetings
on: [pull_request_target, issues]
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: 'Thanks for reporting this issue.'
pr-message: 'Thanks for implementing a fix. Could you include a test that covers your changes.'

View File

@@ -12,7 +12,7 @@ jobs:
with:
fetch-depth: 0
- name: Sync release version.
uses: tj-actions/sync-release-version@v8.6
uses: tj-actions/sync-release-version@v8.7
id: sync-release-version
with:
pattern: '${{ github.repository }}@'
@@ -23,7 +23,7 @@ jobs:
with:
output: 'HISTORY.md'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3.10.0
uses: peter-evans/create-pull-request@v3.10.1
with:
base: "main"
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"

View File

@@ -10,47 +10,126 @@ on:
- main
jobs:
test-no-head-sha:
shellcheck:
name: Run shellcheck
runs-on: ubuntu-latest
name: Test changed-files missing head sha
steps:
- name: Checkout to branch
uses: actions/checkout@v2
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.7
test-multiple-repositories:
name: Test with multiple repositories
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout into dir1
uses: actions/checkout@v2
with:
fetch-depth: 0
path: dir1
- name: Run changed-files with defaults on the dir1
id: changed-files-dir1
uses: ./dir1
with:
path: dir1
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-dir1.outputs) }}"
shell:
bash
- name: List all modified files
run: |
for file in "${{ steps.changed-files-dir1.outputs.modified_files }}"; do
echo $file
done
shell:
bash
- name: Checkout into dir2
uses: actions/checkout@v2
with:
fetch-depth: 0
path: dir2
- name: Run changed-files with defaults on the dir2
id: changed-files-dir2
uses: ./dir2
with:
path: dir2
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-dir2.outputs) }}"
shell:
bash
- name: List all modified files
run: |
for file in "${{ steps.changed-files-dir2.outputs.modified_files }}"; do
echo $file
done
shell:
bash
test-no-head-sha:
name: Test changed-files missing head sha
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout to branch
uses: actions/checkout@v2
- name: Run changed-files with defaults
id: changed-files
continue-on-error: true
uses: ./
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
test:
runs-on: ubuntu-latest
name: Test changed-files
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.5
- name: Run changed-files with defaults
id: changed-files
uses: ./
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
- name: List all modified files
run: |
for file in "${{ steps.changed-files.outputs.modified_files }}"; do
echo $file
done
shell:
bash
- name: Run step when README.md changes
if: contains(steps.changed-files.outputs.modified_files, 'README.md')
run: |
echo "Your README.md has been modified ${{ steps.changed-files.outputs.modified_files }}."
shell:
bash
- name: Run changed-files with comma separator
id: changed-files-comma
uses: ./
@@ -59,6 +138,8 @@ jobs:
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-comma.outputs) }}"
shell:
bash
- name: Run changed-files with specific files
id: changed-files-specific
uses: ./
@@ -73,9 +154,32 @@ jobs:
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_changed }})"
exit 1
fi
shell:
bash
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-specific.outputs) }}"
shell:
bash
- name: Run changed-files with specific files comma check duplicates
id: changed-files-specific-duplicate-output
uses: ./
with:
files: |
entrypoint.sh
*.sh
- name: Verify all_changed_files files has no duplicates
if: contains(steps.changed-files-specific-duplicate-output.outputs.all_modified_files, 'entrypoint.sh')
run: |
ALL_CHANGED_FILES=(${{ steps.changed-files-specific-duplicate-output.outputs.all_modified_files }})
UNIQUE_ALL_CHANGED_FILES=$(echo "$ALL_CHANGED_FILES" | tr ' ' '\n' | sort -u | xargs)
if [[ "$ALL_CHANGED_FILES[@]" != "$UNIQUE_ALL_CHANGED_FILES[@]" ]]; then
echo "Duplicate output: Expected "$UNIQUE_ALL_CHANGED_FILES" got $ALL_CHANGED_FILES"
exit 1
fi
shell:
bash
- name: Run changed-files with specific files comma separator
id: changed-files-specific-comma
uses: ./
@@ -91,6 +195,98 @@ jobs:
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_changed }})"
exit 1
fi
shell:
bash
- name: Run changed-files with specific files from a source file
id: changed-files-specific-source-file
uses: ./
with:
files_from_source_file: |
test/changed-files-list.txt
test/changed-files-list.txt
files: |
.github/workflows/rebase.yml
- name: Verify any_changed files
if: "!contains(steps.changed-files-specific.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.all_modified_files, '.github/workflows/test.yml')"
run: |
if [[ "${{ steps.changed-files-specific.outputs.any_changed }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_changed }})"
exit 1
fi
shell:
bash
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-specific.outputs) }}"
shell:
bash
- name: Run changed-files with specific files from a source file using a comma separator
id: changed-files-specific-comma-source-file
uses: ./
with:
files_from_source_file: |
test/changed-files-list.txt
separator: ","
- name: Verify any_changed files comma separator
if: "!contains(steps.changed-files-specific-comma.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific-comma.outputs.all_modified_files, '.github/workflows/test.yml')"
run: |
if [[ "${{ steps.changed-files-specific.outputs.any_changed }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_changed }})"
exit 1
fi
shell:
bash
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-specific-comma.outputs) }}"
shell:
bash
- name: Run changed-files with custom sha
id: changed-files-custom-sha
uses: ./
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-custom-sha.outputs) }}"
shell:
bash
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v4.9
- uses: nrwl/last-successful-commit-action@v1
id: last_successful_commit
with:
branch: ${{ steps.branch-name.outputs.base_ref_branch }}
workflow_id: 'test.yml'
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Run changed-files with a custom base sha
id: changed-files-custom-base-sha
uses: ./
with:
base_sha: ${{ steps.last_successful_commit.outputs.commit_hash }}
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-custom-base-sha.outputs) }}"
shell:
bash
- name: Run changed-files with specific files (only-changed)
id: changed-files-specific-only-changed
uses: ./
with:
files: |
.github/workflows/test.yml
- name: Verify only_changed files
if: steps.changed-files-specific-only-changed.outputs.other_changed_files != ''
run: |
if [[ "${{ steps.changed-files-specific-only-changed.outputs.only_changed }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-only-changed.outputs.only_changed }})"
exit 1
fi
shell:
bash
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-specific-only-changed.outputs) }}"
shell:
bash

39
.github/workflows/update-readme.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Format README.md
on:
push:
branches:
- main
jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
- name: Run test
uses: tj-actions/remark@v1.7
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v7
id: verify_changed_files
with:
files: |
README.md
- name: README.md changed
if: steps.verify_changed_files.outputs.files_changed == 'true'
run: |
echo "README.md has uncommited changes"
exit 1
- name: Create Pull Request
if: failure()
uses: peter-evans/create-pull-request@v3
with:
base: "main"
title: "Updated README.md"
branch: "chore/update-readme"
commit-message: "Updated README.md"
body: "Updated README.md"
token: ${{ secrets.PAT_TOKEN }}

2
.gitignore vendored
View File

@@ -1,2 +1,4 @@
.idea/
.envrc
tag.sh
untag.sh

12
.whitesource Normal file
View File

@@ -0,0 +1,12 @@
{
"scanSettings": {
"baseBranches": []
},
"checkRunSettings": {
"vulnerableCheckRunConclusionLevel": "failure",
"displayMode": "diff"
},
"issueSettings": {
"minSeverityLevel": "LOW"
}
}

128
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
jtonye@ymail.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View File

@@ -1,10 +0,0 @@
FROM alpine:3.13.5
LABEL maintainer="Tonye Jack <jtonye@ymail.com>"
RUN apk add bash git openssh grep sed
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,6 +1,274 @@
# Changelog
## [v6.2](https://github.com/tj-actions/changed-files/tree/v6.2) (2021-05-17)
## [v1.0.2](https://github.com/tj-actions/changed-files/tree/v1.0.2) (2021-08-28)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.0.1...v1.0.2)
**Fixed bugs:**
- \[BUG\] Error: xargs: unmatched single quote [\#169](https://github.com/tj-actions/changed-files/issues/169)
**Merged pull requests:**
- Fixed bug with parsing filenames that contain quotes [\#174](https://github.com/tj-actions/changed-files/pull/174) ([jackton1](https://github.com/jackton1))
- Upgraded to v1.0.1 [\#173](https://github.com/tj-actions/changed-files/pull/173) ([jackton1](https://github.com/jackton1))
## [v1.0.1](https://github.com/tj-actions/changed-files/tree/v1.0.1) (2021-08-28)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.0.0...v1.0.1)
**Implemented enhancements:**
- \[Feature\] Add support for checkout path [\#167](https://github.com/tj-actions/changed-files/issues/167)
**Fixed bugs:**
- \[BUG\] Deleted files not detected [\#165](https://github.com/tj-actions/changed-files/issues/165)
- \[BUG\] changed-files unable to initialize git repository on custom container image [\#164](https://github.com/tj-actions/changed-files/issues/164)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Updated README.md [\#172](https://github.com/tj-actions/changed-files/pull/172) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#171](https://github.com/tj-actions/changed-files/pull/171) ([jackton1](https://github.com/jackton1))
- docs: add IvanPizhenko as a contributor for code, doc [\#170](https://github.com/tj-actions/changed-files/pull/170) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Implement path parameter [\#168](https://github.com/tj-actions/changed-files/pull/168) ([IvanPizhenko](https://github.com/IvanPizhenko))
- Update peter-evans/create-pull-request action to v3.10.1 [\#163](https://github.com/tj-actions/changed-files/pull/163) ([renovate[bot]](https://github.com/apps/renovate))
- Update tj-actions/branch-names action to v4.9 [\#162](https://github.com/tj-actions/changed-files/pull/162) ([renovate[bot]](https://github.com/apps/renovate))
- Update tj-actions/remark action to v1.7 [\#161](https://github.com/tj-actions/changed-files/pull/161) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v1.0.0 [\#160](https://github.com/tj-actions/changed-files/pull/160) ([jackton1](https://github.com/jackton1))
## [v1.0.0](https://github.com/tj-actions/changed-files/tree/v1.0.0) (2021-08-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v9.3...v1.0.0)
**Fixed bugs:**
- Setting remote URL breaks other steps that are using it [\#158](https://github.com/tj-actions/changed-files/issues/158)
**Merged pull requests:**
- Fix persisting origin URL [\#159](https://github.com/tj-actions/changed-files/pull/159) ([jackton1](https://github.com/jackton1))
- Upgraded to v9.3 [\#157](https://github.com/tj-actions/changed-files/pull/157) ([jackton1](https://github.com/jackton1))
## [v9.3](https://github.com/tj-actions/changed-files/tree/v9.3) (2021-08-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v9.2...v9.3)
**Fixed bugs:**
- \[BUG\] `all_modified_files` show deleted files [\#155](https://github.com/tj-actions/changed-files/issues/155)
- \[BUG\] Dedupe the output list of changed files [\#151](https://github.com/tj-actions/changed-files/issues/151)
**Merged pull requests:**
- Remove deleted files from the all\_modified\_files output [\#156](https://github.com/tj-actions/changed-files/pull/156) ([jackton1](https://github.com/jackton1))
- Upgraded to v9.2 [\#154](https://github.com/tj-actions/changed-files/pull/154) ([jackton1](https://github.com/jackton1))
## [v9.2](https://github.com/tj-actions/changed-files/tree/v9.2) (2021-08-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v9.1...v9.2)
**Merged pull requests:**
- Dedupe output file names. [\#153](https://github.com/tj-actions/changed-files/pull/153) ([jackton1](https://github.com/jackton1))
- Update tj-actions/branch-names action to v4.8 [\#152](https://github.com/tj-actions/changed-files/pull/152) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v9.1 [\#150](https://github.com/tj-actions/changed-files/pull/150) ([jackton1](https://github.com/jackton1))
## [v9.1](https://github.com/tj-actions/changed-files/tree/v9.1) (2021-07-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v9...v9.1)
**Implemented enhancements:**
- \[Feature\] any\_changed doesn't capture changes due to deleting files [\#148](https://github.com/tj-actions/changed-files/issues/148)
**Merged pull requests:**
- Detect deleted files via any\_changed output [\#149](https://github.com/tj-actions/changed-files/pull/149) ([jackton1](https://github.com/jackton1))
- Update reviewdog/action-shellcheck action to v1.7 [\#147](https://github.com/tj-actions/changed-files/pull/147) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v9 [\#146](https://github.com/tj-actions/changed-files/pull/146) ([jackton1](https://github.com/jackton1))
## [v9](https://github.com/tj-actions/changed-files/tree/v9) (2021-07-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.9...v9)
**Fixed bugs:**
- \[BUG\] \<any\_changed doesn't capture changes due to renaming files\> [\#144](https://github.com/tj-actions/changed-files/issues/144)
**Merged pull requests:**
- Update `any_changed` to include renamed files. [\#145](https://github.com/tj-actions/changed-files/pull/145) ([jackton1](https://github.com/jackton1))
- Update codacy/codacy-analysis-cli-action action to v4 [\#143](https://github.com/tj-actions/changed-files/pull/143) ([renovate[bot]](https://github.com/apps/renovate))
- Update codacy/codacy-analysis-cli-action action to v3 [\#142](https://github.com/tj-actions/changed-files/pull/142) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v8.9 [\#140](https://github.com/tj-actions/changed-files/pull/140) ([jackton1](https://github.com/jackton1))
## [v8.9](https://github.com/tj-actions/changed-files/tree/v8.9) (2021-07-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.8...v8.9)
**Merged pull requests:**
- Updated README.md [\#139](https://github.com/tj-actions/changed-files/pull/139) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.8 [\#138](https://github.com/tj-actions/changed-files/pull/138) ([jackton1](https://github.com/jackton1))
## [v8.8](https://github.com/tj-actions/changed-files/tree/v8.8) (2021-07-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.7...v8.8)
**Implemented enhancements:**
- \[Feature\] Ability to run a workflow if and only if certain file/directory changes [\#124](https://github.com/tj-actions/changed-files/issues/124)
**Merged pull requests:**
- Added support for detecting non specific file changes. [\#137](https://github.com/tj-actions/changed-files/pull/137) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.7 [\#136](https://github.com/tj-actions/changed-files/pull/136) ([jackton1](https://github.com/jackton1))
## [v8.7](https://github.com/tj-actions/changed-files/tree/v8.7) (2021-07-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.6...v8.7)
**Implemented enhancements:**
- \[Feature\] Get Changed files since last successful Action run [\#131](https://github.com/tj-actions/changed-files/issues/131)
**Merged pull requests:**
- Added support for a custom base sha. [\#135](https://github.com/tj-actions/changed-files/pull/135) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.6 [\#134](https://github.com/tj-actions/changed-files/pull/134) ([jackton1](https://github.com/jackton1))
## [v8.6](https://github.com/tj-actions/changed-files/tree/v8.6) (2021-07-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.5...v8.6)
**Implemented enhancements:**
- \[Feature\] Get specific changed files reading a file [\#130](https://github.com/tj-actions/changed-files/issues/130)
- \[Feature\] Rename `files` -\> `paths` [\#125](https://github.com/tj-actions/changed-files/issues/125)
**Merged pull requests:**
- Updated README.md [\#133](https://github.com/tj-actions/changed-files/pull/133) ([jackton1](https://github.com/jackton1))
- Added support for retrieving the files input using a source file. [\#132](https://github.com/tj-actions/changed-files/pull/132) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.5 [\#129](https://github.com/tj-actions/changed-files/pull/129) ([jackton1](https://github.com/jackton1))
## [v8.5](https://github.com/tj-actions/changed-files/tree/v8.5) (2021-07-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.4...v8.5)
**Merged pull requests:**
- Updated README.md [\#128](https://github.com/tj-actions/changed-files/pull/128) ([jackton1](https://github.com/jackton1))
- docs: add Kras4ooo as a contributor for code, doc [\#127](https://github.com/tj-actions/changed-files/pull/127) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Add custom source sha [\#126](https://github.com/tj-actions/changed-files/pull/126) ([Kras4ooo](https://github.com/Kras4ooo))
- Updated README.md [\#123](https://github.com/tj-actions/changed-files/pull/123) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#122](https://github.com/tj-actions/changed-files/pull/122) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#120](https://github.com/tj-actions/changed-files/pull/120) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.4 [\#119](https://github.com/tj-actions/changed-files/pull/119) ([jackton1](https://github.com/jackton1))
## [v8.4](https://github.com/tj-actions/changed-files/tree/v8.4) (2021-06-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.3...v8.4)
**Merged pull requests:**
- Update reviewdog/action-shellcheck action to v1.6 [\#118](https://github.com/tj-actions/changed-files/pull/118) ([renovate[bot]](https://github.com/apps/renovate))
- Add message grouping [\#117](https://github.com/tj-actions/changed-files/pull/117) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.3 [\#116](https://github.com/tj-actions/changed-files/pull/116) ([jackton1](https://github.com/jackton1))
## [v8.3](https://github.com/tj-actions/changed-files/tree/v8.3) (2021-06-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.2...v8.3)
**Merged pull requests:**
- Fixed empty branch name in debug message [\#115](https://github.com/tj-actions/changed-files/pull/115) ([jackton1](https://github.com/jackton1))
- Upgraded to v8.2 [\#114](https://github.com/tj-actions/changed-files/pull/114) ([jackton1](https://github.com/jackton1))
## [v8.2](https://github.com/tj-actions/changed-files/tree/v8.2) (2021-06-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8.1...v8.2)
**Merged pull requests:**
- Update arrow direction and added branch information [\#113](https://github.com/tj-actions/changed-files/pull/113) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#112](https://github.com/tj-actions/changed-files/pull/112) ([jackton1](https://github.com/jackton1))
- Update tj-actions/verify-changed-files action to v7 [\#111](https://github.com/tj-actions/changed-files/pull/111) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v8.1 [\#110](https://github.com/tj-actions/changed-files/pull/110) ([jackton1](https://github.com/jackton1))
## [v8.1](https://github.com/tj-actions/changed-files/tree/v8.1) (2021-06-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v8...v8.1)
**Closed issues:**
- Rename changed\_files -\> type\_changed\_files [\#105](https://github.com/tj-actions/changed-files/issues/105)
**Merged pull requests:**
- Rename changed\_files to type\_changed\_files [\#109](https://github.com/tj-actions/changed-files/pull/109) ([jackton1](https://github.com/jackton1))
## [v8](https://github.com/tj-actions/changed-files/tree/v8) (2021-06-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v7...v8)
**Closed issues:**
- support windows-latest [\#101](https://github.com/tj-actions/changed-files/issues/101)
- issues with failed getting changed files [\#100](https://github.com/tj-actions/changed-files/issues/100)
**Merged pull requests:**
- Fixed missing env variables [\#108](https://github.com/tj-actions/changed-files/pull/108) ([jackton1](https://github.com/jackton1))
- Add macos to test. [\#107](https://github.com/tj-actions/changed-files/pull/107) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#106](https://github.com/tj-actions/changed-files/pull/106) ([jackton1](https://github.com/jackton1))
- Upgraded to v8 [\#104](https://github.com/tj-actions/changed-files/pull/104) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#103](https://github.com/tj-actions/changed-files/pull/103) ([jackton1](https://github.com/jackton1))
- Add support for multiple platforms [\#102](https://github.com/tj-actions/changed-files/pull/102) ([jackton1](https://github.com/jackton1))
- Update alpine Docker tag to v3.14.0 [\#99](https://github.com/tj-actions/changed-files/pull/99) ([renovate[bot]](https://github.com/apps/renovate))
- Updated README.md [\#98](https://github.com/tj-actions/changed-files/pull/98) ([jackton1](https://github.com/jackton1))
- docs: add monoxgas as a contributor for code [\#97](https://github.com/tj-actions/changed-files/pull/97) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- docs: add jsoref as a contributor for doc [\#96](https://github.com/tj-actions/changed-files/pull/96) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Upgraded to v7 [\#94](https://github.com/tj-actions/changed-files/pull/94) ([jackton1](https://github.com/jackton1))
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
**Closed issues:**
- Request: Option to Output Whole File Path [\#88](https://github.com/tj-actions/changed-files/issues/88)
**Merged pull requests:**
- Clean up debug message [\#93](https://github.com/tj-actions/changed-files/pull/93) ([jackton1](https://github.com/jackton1))
- Make the changes between two commits more explicit [\#92](https://github.com/tj-actions/changed-files/pull/92) ([monoxgas](https://github.com/monoxgas))
- Updated README.md [\#91](https://github.com/tj-actions/changed-files/pull/91) ([jackton1](https://github.com/jackton1))
- Punctuation [\#90](https://github.com/tj-actions/changed-files/pull/90) ([jsoref](https://github.com/jsoref))
- Update README.md [\#89](https://github.com/tj-actions/changed-files/pull/89) ([jackton1](https://github.com/jackton1))
- Update tj-actions/sync-release-version action to v8.7 [\#86](https://github.com/tj-actions/changed-files/pull/86) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1))
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v6)
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6.3)
**Merged pull requests:**
- Added usage link to warning message [\#84](https://github.com/tj-actions/changed-files/pull/84) ([jackton1](https://github.com/jackton1))
- Update pascalgn/automerge-action action to v0.14.2 [\#83](https://github.com/tj-actions/changed-files/pull/83) ([renovate[bot]](https://github.com/apps/renovate))
- Update README.md [\#82](https://github.com/tj-actions/changed-files/pull/82) ([jackton1](https://github.com/jackton1))
## [v6.2](https://github.com/tj-actions/changed-files/tree/v6.2) (2021-05-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.1...v6.2)
@@ -8,8 +276,17 @@
- Fixed bug with trailing separator [\#74](https://github.com/tj-actions/changed-files/pull/74) ([jackton1](https://github.com/jackton1))
**Closed issues:**
- Should the Major Issue Version Point to the Latest Minor? [\#79](https://github.com/tj-actions/changed-files/issues/79)
**Merged pull requests:**
- Update test.yml [\#81](https://github.com/tj-actions/changed-files/pull/81) ([jackton1](https://github.com/jackton1))
- Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 [\#80](https://github.com/tj-actions/changed-files/pull/80) ([dependabot[bot]](https://github.com/apps/dependabot))
- Switch to a docker based action [\#78](https://github.com/tj-actions/changed-files/pull/78) ([jackton1](https://github.com/jackton1))
- Exit with error when HEAD sha is empty [\#77](https://github.com/tj-actions/changed-files/pull/77) ([jackton1](https://github.com/jackton1))
- Upgraded to v6.2 [\#76](https://github.com/tj-actions/changed-files/pull/76) ([jackton1](https://github.com/jackton1))
- Remove unused line [\#75](https://github.com/tj-actions/changed-files/pull/75) ([jackton1](https://github.com/jackton1))
- Update action.yml [\#73](https://github.com/tj-actions/changed-files/pull/73) ([jackton1](https://github.com/jackton1))
- Update README.md [\#72](https://github.com/tj-actions/changed-files/pull/72) ([jackton1](https://github.com/jackton1))
@@ -19,7 +296,7 @@
## [v6.1](https://github.com/tj-actions/changed-files/tree/v6.1) (2021-05-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v6.1)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.3...v6.1)
**Fixed bugs:**
@@ -27,24 +304,13 @@
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
- Improve test coverage [\#54](https://github.com/tj-actions/changed-files/issues/54)
**Merged pull requests:**
- Fixed bug with any\_changed boolean [\#68](https://github.com/tj-actions/changed-files/pull/68) ([jackton1](https://github.com/jackton1))
- Update cirrus-actions/rebase action to v1.5 [\#66](https://github.com/tj-actions/changed-files/pull/66) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v6 [\#64](https://github.com/tj-actions/changed-files/pull/64) ([jackton1](https://github.com/jackton1))
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.3...v6)
**Closed issues:**
- Improve test coverage [\#54](https://github.com/tj-actions/changed-files/issues/54)
**Merged pull requests:**
- Bump peter-evans/create-pull-request from 3.9.1 to 3.9.2 [\#63](https://github.com/tj-actions/changed-files/pull/63) ([dependabot[bot]](https://github.com/apps/dependabot))
- Deprecate all\_changed output. [\#62](https://github.com/tj-actions/changed-files/pull/62) ([jackton1](https://github.com/jackton1))
- Bump peter-evans/create-pull-request from 3 to 3.9.1 [\#61](https://github.com/tj-actions/changed-files/pull/61) ([dependabot[bot]](https://github.com/apps/dependabot))
@@ -84,6 +350,8 @@
- Strip leading whitespaces [\#50](https://github.com/tj-actions/changed-files/pull/50) ([jackton1](https://github.com/jackton1))
- Upgraded to v5 [\#49](https://github.com/tj-actions/changed-files/pull/49) ([jackton1](https://github.com/jackton1))
- Update README.md [\#48](https://github.com/tj-actions/changed-files/pull/48) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.3 [\#47](https://github.com/tj-actions/changed-files/pull/47) ([jackton1](https://github.com/jackton1))
## [v5](https://github.com/tj-actions/changed-files/tree/v5) (2021-05-01)
@@ -91,8 +359,6 @@
**Merged pull requests:**
- Update README.md [\#48](https://github.com/tj-actions/changed-files/pull/48) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.3 [\#47](https://github.com/tj-actions/changed-files/pull/47) ([jackton1](https://github.com/jackton1))
- Fixed bug with all\_changed when array is empty [\#46](https://github.com/tj-actions/changed-files/pull/46) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.2 [\#45](https://github.com/tj-actions/changed-files/pull/45) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.1 [\#44](https://github.com/tj-actions/changed-files/pull/44) ([jackton1](https://github.com/jackton1))

219
README.md
View File

@@ -1,28 +1,39 @@
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml) [![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml) <a href="https://github.com/search?q=tj-actions+changed-files+path%3A.github%2Fworkflows+language%3AYAML&type=code" target="_blank" title="Public workflows that use this action."><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-tj-actions.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue" alt="Public workflows that use this action."></a>
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml) [![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/a3822d6c37f644bc99a5faa0bfb9c2c1)](https://www.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=github.com\&utm_medium=referral\&utm_content=tj-actions/changed-files\&utm_campaign=Badge_Grade) [![Public workflows that use this action.](https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-tj-actions1.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)
changed-files
-------------
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
Retrieve all changed, added, modified and deleted files relative to the default branch (`pull_request*` events) or last commit (`push` event).
[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
## changed-files
Retrieve all changed files relative to the default branch (`pull_request*` based events) or a previous commit (`push` based event) returning the **absolute path** to all changed files from the project root.
## Features
- List all files that have changed
- Between the current pull request branch and the default branch
- Between the last commit and the current pushed change.
- Restrict change detection to a subset of files.
- Report on files that have at least one change.
- Regex pattern matching on a subset of files.
* Easy to debug.
* Boolean output indicating that certain files have been modified.
* Multiple repository support.
* List all files that have changed.
* Between the current pull request branch and the default branch.
* Between the last commit and the current pushed change.
* Restrict change detection to a subset of files.
* Report on files that have at least one change.
* [Regex pattern](https://www.gnu.org/software/grep/manual/grep.html#Regular-Expressions) matching on a subset of files.
## Supported Platforms
* [`ubuntu-*`](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
* [`macos-*`](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
* [`windows-*`](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
## Usage
> NOTE: :warning:
> * **IMPORTANT:** For `push` events to work you need to include `fetch-depth: 0` **OR** `fetch-depth: 2` depending on your use case.
> * When using `persist-credentials: false` with `actions/checkout@v2` you'll need to specify a `token` using the `token` input.
>
> * **IMPORTANT:** For `push` events you need to include `fetch-depth: 0` **OR** `fetch-depth: 2` depending on your use case.
> * When using `persist-credentials: false` with `actions/checkout@v2` you'll need to specify a `token` using the `token` input.
```yaml
name: CI
@@ -37,17 +48,17 @@ on:
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-latest # windows-latest | macos-latest
name: Test changed-files
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v6.2
uses: tj-actions/changed-files@v1.0.2
- name: List all modified files
run: |
for file in "${{ steps.changed-files.outputs.all_modified_files }}"; do
@@ -55,44 +66,46 @@ jobs:
done
```
## Outputs
| Acronym | Meaning |
|:---------:|:------------:|
| A | Added |
| C | Copied |
| M | Modified. |
| M | Modified |
| D | Deleted |
| R | Renamed |
| T | Type changed |
| U | Unmerged |
| X | Unknown |
| Output | type | example | description |
|:-------------------:|:------------:|:------------------------------:|:----------------------------------------:|
| any_changed | `string` | `true` OR `false` | Returns `true` when any of the filenames provided using the `files` input has changed |
| all_modified_files | `string` | `'new.txt other.png ...'` | Select all modified files <br /> i.e *a combination of all added, <br />copied and modified files (ACM).* |
| all_changed_files | `string` | `'new.txt other.png ...'` | Select all paths (*) <br /> i.e *a combination of all options below.* |
| added_files | `string` | `'new.txt other.png ...'` | Select only files that are Added (A) |
| copied_files | `string` | `'new.txt other.png ...'` | Select only files that are Copied (C) |
| deleted_files | `string` | `'new.txt other.png ...'` | Select only files that are Deleted (D) |
| modified_files | `string` | `'new.txt other.png ...'` | Select only files that are Modified (M) |
| renamed_files | `string` | `'new.txt other.png ...'` | Select only files that are Renamed (R) |
| changed_files | `string` | `'new.txt other.png ...'` | Select only files that have their file type changed (T) |
| unmerged_files | `string` | `'new.txt other.png ...'` | Select only files that are Unmerged (U) |
| unknown_files | `string` | `'new.txt other.png ...'` | Select only files that are Unknown (X) |
| Output | type | example | description |
|:--------------------:|:------------:|:----------------------------------:|:----------------------------------------:|
| any_changed | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has changed. <br /> i.e. *using a combination of all added, <br />copied, modified and renamed files (ACMR).* |
| only_changed | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input have changed. |
| other_changed_files | `string` | `'new.txt path/to/file.png ...'` | Select all other changed files <br/> not listed in the files input <br /> i.e. *a combination of all added, <br /> copied and modified files (ACMR).* |
| all_modified_files | `string` | `'new.txt path/to/file.png ...'` | Select all modified files <br /> i.e. *a combination of all added, <br />copied, modified and renamed files (ACMR).* |
| all_changed_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed files (\*) <br /> i.e. *a combination of (ACMRDTUX).* |
| added_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Added (A) |
| copied_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Copied (C) |
| deleted_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Deleted (D) |
| modified_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Modified (M) |
| renamed_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Renamed (R) |
| type_changed_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that have their file type changed (T) |
| unmerged_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unmerged (U) |
| unknown_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unknown (X) |
## Inputs
| Input | type | required | default | description |
|:-------------:|:-----------:|:-------------:|:----------------------------:|:-------------:|
| token | `string` | `false` | `${{ github.token }}` | [GITHUB_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
| separator | `string` | `true` | `' '` | Output string separator |
| files | `string` OR `string[]` | `false` | | Restricted list <br> or string of specific <br> files or filename <br> to watch for changes |
|:-------------:|:-----------:|:-------------:|:-----------------------------:|:-------------:|
| token | `string` | `false` | `${{ github.token }}` | [GITHUB_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
| separator | `string` | `true` | `' '` | Output string separator |
| files | `string` OR `string[]` | `false` | | Check for changes <br> using only these <br> list of file(s) <br> (Defaults to the <br> entire repo) |
| base_sha | `string` | `false` | | Specify a different <br> base commit SHA <br> used for <br> comparing changes |
| sha | `string` | `true` | `${{ github.sha }}` | Specify a different <br> commit SHA <br> used for <br> comparing changes |
| files_from_source_file | `string` | `false` | | Source file <br> used to populate <br> the files input |
| path | `string` | `false` | | Relative path under <br> `GITHUB_WORKSPACE` <br> to the repository |
## Example
@@ -103,11 +116,11 @@ jobs:
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v6.2
uses: tj-actions/changed-files@v1.0.2
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v6.2
uses: tj-actions/changed-files@v1.0.2
with:
separator: ","
@@ -129,22 +142,68 @@ jobs:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v6.2
uses: tj-actions/changed-files@v1.0.2
with:
files: |
my-file.txt
test.txt
new.txt
test_directory
.(py|jpeg)$
*.sh
.(png|jpeg)$
.(sql)$
^(mynewfile|custom)
- name: Run step if any of the listed files above change
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: |
echo "One or more files listed above has changed."
- name: Run step if any of the listed files above change
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: |
echo "One or more files listed above has changed."
- name: Run step if only the files listed above change
if: steps.changed-files-specific.outputs.only_changed == 'true'
run: |
echo "Only files listed above have changed."
- name: Use a source file or list of file(s) to populate to files input.
id: changed-files-specific-source-file
uses: tj-actions/changed-files@v1.0.2
with:
files_from_source_file: |
test/changed-files-list.txt
- name: Use a source file or list of file(s) to populate to files input and optionally specify more files.
id: changed-files-specific-source-file-and-specify-files
uses: tj-actions/changed-files@v1.0.2
with:
files_from_source_file: |
test/changed-files-list.txt
files: |
.github/workflows/rebase.yml
- name: Use a different commit SHA
id: changed-files-custom-sha
uses: tj-actions/changed-files@v1.0.2
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Use a different base SHA
id: changed-files-custom-base-sha
uses: tj-actions/changed-files@v1.0.2
with:
base_sha: "2096ed0"
- name: Checkout into dir1
uses: actions/checkout@v2
with:
fetch-depth: 0
path: subfolder
- name: Run changed-files with defaults on the dir1
id: changed-files-for-subfolder
uses: tj-actions/changed-files@v1.0.2
with:
path: subfolder
```
### Running [pre-commit](https://pre-commit.com/) on all modified files
@@ -155,10 +214,10 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v6.2
uses: tj-actions/changed-files@v1.0.2
- name: Pre-commit
uses: pre-commit/action@v2.0.0
@@ -167,29 +226,59 @@ jobs:
token: ${{ secrets.github_token }}
```
![Screen Shot 2021-07-06 at 2 50 23 PM](https://user-images.githubusercontent.com/17484350/124651978-96ed5280-de69-11eb-86d5-396a4c1a980f.png)
## Example
![Screen Shot 2021-05-13 at 4 55 30 PM](https://user-images.githubusercontent.com/17484350/118186772-1cc1c400-b40c-11eb-8fe8-b651e674ce96.png) ![Screen Shot 2021-05-21 at 8 38 31 AM](https://user-images.githubusercontent.com/17484350/119138539-fc979380-ba0f-11eb-802c-6e403faac300.png)
![Screen Shot 2021-07-17 at 10 52 48 AM](https://user-images.githubusercontent.com/17484350/126040772-30b65afb-a6b5-4150-b312-ac2017ba7b98.png)
* Free software: [MIT license](LICENSE)
If you feel generous and want to show some extra appreciation:
* Free software: [MIT license](LICENSE)
Support me with a :star:
[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]
Credits
-------
## Credits
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
Report Bugs
-----------
## Report Bugs
Report bugs at https://github.com/tj-actions/changed-files/issues.
If you are reporting a bug, please include:
* Your operating system name and version.
* Any details about your workflow that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.
* Your operating system name and version.
* Any details about your workflow that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/jsoref"><img src="https://avatars.githubusercontent.com/u/2119212?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh Soref</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=jsoref" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/monoxgas"><img src="https://avatars.githubusercontent.com/u/1223016?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick Landers</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=monoxgas" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Kras4ooo"><img src="https://avatars.githubusercontent.com/u/1948054?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Krasimir Nikolov</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/IvanPizhenko"><img src="https://avatars.githubusercontent.com/u/11859904?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ivan Pizhenko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Documentation">📖</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
[buymeacoffee]: https://www.buymeacoffee.com/jackton1
[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png

View File

@@ -1,5 +1,5 @@
name: Changed files
description: Get all changed files
description: Get all changed files for push and pull request events.
author: tj-actions
inputs:
token:
@@ -10,38 +10,100 @@ inputs:
description: 'Split character for array output'
required: true
default: " "
files:
description: 'Check for file changes for all files listed (Defaults to the entire repo)'
files_from_source_file:
description: 'Source file to populate the files input'
required: false
default: ""
files:
description: 'Check for changes using only this list of files (Defaults to the entire repo)'
required: false
default: ""
sha:
description: 'Specify a current commit SHA used for comparing changes'
required: true
default: ${{ github.sha }}
base_sha:
description: 'Specify a base commit SHA on used for comparing changes'
required: false
path:
description: 'Specify a relative path under $GITHUB_WORKSPACE to locate the repository'
required: false
outputs:
added_files:
description: List of added files.
value: ${{ steps.changed-files.outputs.added_files }}
copied_files:
description: List of copied files.
value: ${{ steps.changed-files.outputs.copied_files }}
deleted_files:
description: List of deleted files.
value: ${{ steps.changed-files.outputs.deleted_files }}
modified_files:
description: List of modified files.
value: ${{ steps.changed-files.outputs.modified_files }}
renamed_files:
description: List of renamed files.
changed_files:
description: List of changed files.
value: ${{ steps.changed-files.outputs.renamed_files }}
type_changed_files:
description: List of files that had type changes.
value: ${{ steps.changed-files.outputs.type_changed_files }}
unmerged_files:
description: List of unmerged files.
value: ${{ steps.changed-files.outputs.unmerged_files }}
unknown_files:
description: List of unknown files.
value: ${{ steps.changed-files.outputs.unknown_files }}
all_changed_files:
description: List of all changed files.
value: ${{ steps.changed-files.outputs.all_changed_files }}
all_modified_files:
description: List of all copied modified and added files.
value: ${{ steps.changed-files.outputs.all_modified_files }}
any_changed:
description: Return true only when any files provided using the files input have changed.
value: ${{ steps.changed-files.outputs.any_changed }}
only_changed:
description: Return true only when only files provided using the files input have changed.
value: ${{ steps.changed-files.outputs.only_changed }}
other_changed_files:
description: Return list of changed files not listed in the files input.
value: ${{ steps.changed-files.outputs.other_changed_files }}
runs:
using: 'docker'
image: 'Dockerfile'
using: 'composite'
steps:
- run: |
FILES=()
if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then
for file in $INPUT_FILES_FROM_SOURCE_FILE
do
FILES+=$(cat $file | sort -u | tr "\n" " " )
done
fi
echo "::set-output name=files::$FILES"
id: source-input-files
shell: bash
env:
INPUT_FILES: ${{ inputs.files }}
INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }}
- run: |
bash $GITHUB_ACTION_PATH/entrypoint.sh
id: changed-files
shell: bash
env:
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_REPOSITORY: ${{ github.repository }}
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
# https://github.community/t/input-variable-name-is-not-available-in-composite-run-steps/127611
INPUT_SHA: ${{ inputs.sha }}
INPUT_BASE_SHA: ${{ inputs.base_sha }}
INPUT_TOKEN: ${{ inputs.token }}
INPUT_FILES: ${{ join(format('{0} {1}', inputs.files, steps.source-input-files.outputs.files), ' ') }}
INPUT_SEPARATOR: ${{ inputs.separator }}
INPUT_PATH: ${{ inputs.path }}
branding:
icon: file-text

154
entrypoint.sh Normal file → Executable file
View File

@@ -2,95 +2,138 @@
set -e
git remote set-url origin "https://${INPUT_TOKEN}@github.com/${GITHUB_REPOSITORY}"
echo "::group::changed-files"
echo "Getting head sha..."
echo "Resolving repository path..."
if [[ -z $GITHUB_BASE_REF ]]; then
HEAD_SHA=$(git rev-parse HEAD^1 2>&1) && exit_status=$? || exit_status=$?
if [[ -n $INPUT_PATH ]]; then
REPO_DIR="$GITHUB_WORKSPACE/$INPUT_PATH"
if [[ ! -d "$REPO_DIR" ]]; then
echo "::warning::Invalid repository path"
exit 1
fi
cd "$REPO_DIR"
fi
git remote add temp_changed_files "https://${INPUT_TOKEN}@github.com/${GITHUB_REPOSITORY}"
echo "Getting HEAD info..."
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-parse HEAD 2>&1) && exit_status=$? || exit_status=$?
else
TARGET_BRANCH=${GITHUB_BASE_REF}
git fetch --depth=1 origin "${TARGET_BRANCH}":"${TARGET_BRANCH}"
HEAD_SHA=$(git rev-parse "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
CURRENT_SHA=$INPUT_SHA
fi
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the head sha"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'"
echo "::warning::Unable to determine the current head sha"
exit 1
fi
echo "Using head sha: $HEAD_SHA..."
if [[ -z $GITHUB_BASE_REF ]]; then
if [[ -z $INPUT_BASE_SHA ]]; then
PREVIOUS_SHA=$(git rev-parse HEAD^1 2>&1) && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$INPUT_BASE_SHA
fi
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//}
CURRENT_BRANCH=$TARGET_BRANCH
if [[ -z "$INPUT_FILES" ]]; then
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the previous commit sha"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
exit 1
fi
else
TARGET_BRANCH=$GITHUB_BASE_REF
CURRENT_BRANCH=$GITHUB_HEAD_REF
git fetch temp_changed_files "${TARGET_BRANCH}":"${TARGET_BRANCH}"
if [[ -z $INPUT_BASE_SHA ]]; then
PREVIOUS_SHA=$(git rev-parse "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$INPUT_BASE_SHA
fi
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the base ref sha for ${TARGET_BRANCH}"
exit 1
fi
fi
echo "Retrieving changes between $PREVIOUS_SHA ($TARGET_BRANCH) → $CURRENT_SHA ($CURRENT_BRANCH)"
UNIQUE_FILES=$(echo "$INPUT_FILES" | tr " " "\n" | sort -u | xargs -0)
if [[ -z "$UNIQUE_FILES" ]]; then
echo "Getting diff..."
ADDED=$(git diff --diff-filter=A --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
COPIED=$(git diff --diff-filter=C --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
DELETED=$(git diff --diff-filter=D --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
MODIFIED=$(git diff --diff-filter=M --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
RENAMED=$(git diff --diff-filter=R --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
CHANGED=$(git diff --diff-filter=T --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
UNMERGED=$(git diff --diff-filter=U --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
UNKNOWN=$(git diff --diff-filter=X --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_CHANGED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_MODIFIED_FILES=$(git diff --diff-filter="ACM" --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ADDED=$(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
COPIED=$(git diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
DELETED=$(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
MODIFIED=$(git diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
RENAMED=$(git diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
TYPE_CHANGED=$(git diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
UNMERGED=$(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
UNKNOWN=$(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
ALL_CHANGED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
ALL_MODIFIED_FILES=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed "s/.$//")
else
ADDED_ARRAY=()
COPIED_ARRAY=()
DELETED_ARRAY=()
MODIFIED_ARRAY=()
RENAMED_ARRAY=()
CHANGED_ARRAY=()
TYPE_CHANGED_ARRAY=()
UNMERGED_ARRAY=()
UNKNOWN_ARRAY=()
ALL_CHANGED_ARRAY=()
ALL_MODIFIED_FILES_ARRAY=()
for path in ${INPUT_FILES}
for path in ${UNIQUE_FILES}
do
echo "Checking for file changes: \"${path}\"..."
IFS=" "
# shellcheck disable=SC2207
ADDED_ARRAY+=($(git diff --diff-filter=A --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
ADDED_ARRAY+=($(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
COPIED_ARRAY+=($(git diff --diff-filter=C --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
COPIED_ARRAY+=($(git diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
DELETED_ARRAY+=($(git diff --diff-filter=D --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
DELETED_ARRAY+=($(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
MODIFIED_ARRAY+=($(git diff --diff-filter=M --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
MODIFIED_ARRAY+=($(git diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
RENAMED_ARRAY+=($(git diff --diff-filter=R --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
RENAMED_ARRAY+=($(git diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
CHANGED_ARRAY+=($(git diff --diff-filter=T --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
TYPE_CHANGED_ARRAY+=($(git diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
UNMERGED_ARRAY+=($(git diff --diff-filter=U --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
UNMERGED_ARRAY+=($(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
UNKNOWN_ARRAY+=($(git diff --diff-filter=X --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
UNKNOWN_ARRAY+=($(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
ALL_CHANGED_ARRAY+=($(git diff --diff-filter="*ACDMRTUX" --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
ALL_CHANGED_ARRAY+=($(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
ALL_MODIFIED_FILES_ARRAY+=($(git diff --diff-filter="ACM" --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
ALL_MODIFIED_FILES_ARRAY+=($(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
done
# shellcheck disable=SC2001
ADDED=$(echo "${ADDED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
ADDED=$(echo "${ADDED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
COPIED=$(echo "${COPIED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
COPIED=$(echo "${COPIED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
DELETED=$(echo "${DELETED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
DELETED=$(echo "${DELETED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
MODIFIED=$(echo "${MODIFIED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
MODIFIED=$(echo "${MODIFIED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
RENAMED=$(echo "${RENAMED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
RENAMED=$(echo "${RENAMED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
CHANGED=$(echo "${CHANGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
TYPE_CHANGED=$(echo "${TYPE_CHANGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
UNMERGED=$(echo "${UNMERGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
UNMERGED=$(echo "${UNMERGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
UNKNOWN=$(echo "${UNKNOWN_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
UNKNOWN=$(echo "${UNKNOWN_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
ALL_CHANGED=$(echo "${ALL_CHANGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
ALL_CHANGED=$(echo "${ALL_CHANGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
# shellcheck disable=SC2001
ALL_MODIFIED_FILES=$(echo "${ALL_MODIFIED_FILES_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
ALL_MODIFIED_FILES=$(echo "${ALL_MODIFIED_FILES_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g' | tr " " "\n" | sort -u | xargs -0)
fi
echo "Added files: $ADDED"
@@ -98,32 +141,49 @@ echo "Copied files: $COPIED"
echo "Deleted files: $DELETED"
echo "Modified files: $MODIFIED"
echo "Renamed files: $RENAMED"
echo "Changed files: $CHANGED"
echo "Type Changed files: $TYPE_CHANGED"
echo "Unmerged files: $UNMERGED"
echo "Unknown files: $UNKNOWN"
echo "All changed files: $ALL_CHANGED"
echo "All modified files: $ALL_MODIFIED_FILES"
if [[ -n "$INPUT_FILES" ]]; then
if [[ -n "$UNIQUE_FILES" ]]; then
# shellcheck disable=SC2001
ALL_INPUT_FILES=$(echo "$INPUT_FILES" | tr "\n" " " | xargs)
ALL_INPUT_FILES=$(echo "$UNIQUE_FILES" | tr "\n" " " | xargs -0)
ALL_OTHER_CHANGED_FILES=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA")
OTHER_CHANGED_FILES=$(echo "${ALL_OTHER_CHANGED_FILES[@]}" "${ALL_MODIFIED_FILES[@]}" | tr " " "\n" | sort | uniq -u | tr "\n" " " | xargs -0)
echo "Input files: ${ALL_INPUT_FILES[*]}"
echo "Matching modified files: ${ALL_MODIFIED_FILES[*]}"
if [[ -n "$ALL_MODIFIED_FILES" ]]; then
echo "::set-output name=any_changed::true"
else
echo "::set-output name=any_changed::false"
fi
if [[ -n "$OTHER_CHANGED_FILES" ]]; then
echo "Non Matching modified files: ${OTHER_CHANGED_FILES[*]}"
echo "::set-output name=only_changed::false"
echo "::set-output name=other_changed_files::$OTHER_CHANGED_FILES"
else
echo "::set-output name=only_changed::true"
fi
fi
git remote remove temp_changed_files
echo "::set-output name=added_files::$ADDED"
echo "::set-output name=copied_files::$COPIED"
echo "::set-output name=deleted_files::$DELETED"
echo "::set-output name=modified_files::$MODIFIED"
echo "::set-output name=renamed_files::$RENAMED"
echo "::set-output name=changed_files::$CHANGED"
echo "::set-output name=type_changed_files::$TYPE_CHANGED"
echo "::set-output name=unmerged_files::$UNMERGED"
echo "::set-output name=unknown_files::$UNKNOWN"
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED_FILES"
echo "::endgroup::"

View File

@@ -0,0 +1,4 @@
.github/workflows/test.yml
action.yml
action.yml
test/changed-files-list.txt

1
test/test new.txt Normal file
View File

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