Compare commits

...

152 Commits

Author SHA1 Message Date
Tonye Jack
72d3bb8b33 Merge pull request #779 from tj-actions/chore/update-readme
chore: update readme
2022-11-07 08:23:09 -07:00
Tonye Jack
d908ddd2ef Merge pull request #780 from tj-actions/fix/similar-commit-hashes 2022-11-07 08:21:33 -07:00
Tonye Jack
8dc46ae460 fix: similar commit hashes 2022-11-07 08:04:54 -07:00
Tonye Jack
1218e11f1e chore: update readme 2022-11-07 07:11:40 -07:00
Tonye Jack
18ddeeb8bc Merge pull request #777 from tj-actions/upgrade-to-v34.3.0 2022-11-07 07:09:37 -07:00
jackton1
3b614c0cfa Upgraded from v34.2.2 -> v34.3.0 2022-11-07 07:56:36 +00:00
Tonye Jack
5f89dc7d6e Merge pull request #776 from tj-actions/chore/exclude-fetching-tag
chore: exclude fetching tags
2022-11-06 23:51:55 -07:00
Tonye Jack
2d251d6924 Update diff-sha.sh 2022-11-06 23:49:17 -07:00
Tonye Jack
c46761fdcd Update diff-sha.sh 2022-11-06 23:28:15 -07:00
Tonye Jack
321490c60a Update diff-sha.sh 2022-11-06 22:53:53 -07:00
Tonye Jack
dc88c3a0c5 chore: exclude fetching tags 2022-11-06 22:31:54 -07:00
Tonye Jack
2125c059c3 Merge pull request #775 from tj-actions/chore/update-test
chore: update test
2022-11-06 21:58:23 -07:00
Tonye Jack
f6e319ef2e Merge branch 'main' into chore/update-test 2022-11-06 21:50:44 -07:00
Tonye Jack
3d1f14f079 Merge pull request #774 from tj-actions/chore/update-readme 2022-11-06 21:19:53 -07:00
Tonye Jack
1abc7bec79 chore: update test 2022-11-06 21:18:59 -07:00
jackton1
18dfe0dd4e Updated README.md 2022-11-07 04:00:58 +00:00
Tonye Jack
c94657a1d8 Merge pull request #773 from tj-actions/feat/add-support-for-using-the-last-remote-commit
feat: add support for using the last remote commit
2022-11-06 21:00:26 -07:00
Tonye Jack
c755692dde Update test.yml 2022-11-06 20:50:36 -07:00
Tonye Jack
1e46f60599 feat: add support for using the last remote commit 2022-11-06 19:50:53 -07:00
Tonye Jack
f009ea4a47 Merge pull request #772 from tj-actions/upgrade-to-v34.2.2
Upgraded to v34.2.2
2022-11-06 11:21:25 -07:00
jackton1
7cdc68de58 Upgraded from v34.2.1 -> v34.2.2 2022-11-06 17:52:52 +00:00
Tonye Jack
734bb168e3 Merge pull request #771 from tj-actions/chore/update-readme
Updated README.md
2022-11-06 10:46:31 -07:00
Tonye Jack
6e227a5e76 Merge branch 'main' into chore/update-readme 2022-11-06 10:38:29 -07:00
jackton1
307c11527a Updated README.md 2022-11-06 16:08:19 +00:00
Tonye Jack
5621d09ed1 Merge pull request #770 from tj-actions/chore/update-readme
Updated README.md
2022-11-06 08:59:37 -07:00
jackton1
8c4057e25f Updated README.md 2022-11-06 15:57:02 +00:00
Tonye Jack
8f47019836 Merge pull request #769 from tj-actions/chore/update-readme
Updated README.md
2022-11-06 08:56:39 -07:00
jackton1
7a799a583e Updated README.md 2022-11-06 15:54:10 +00:00
Tonye Jack
ae54c380bb Merge pull request #768 from tj-actions/all-contributors/add-kenji-miyake
docs: add kenji-miyake as a contributor for code
2022-11-06 08:52:43 -07:00
Tonye Jack
738ce05a6a Merge branch 'main' into all-contributors/add-kenji-miyake 2022-11-06 08:52:05 -07:00
Tonye Jack
b4f323482c Merge pull request #767 from kenji-miyake/fix-sha-required
chore: change `sha` to non-required
2022-11-06 08:51:51 -07:00
allcontributors[bot]
e957501bc3 docs: update .all-contributorsrc [skip ci] 2022-11-06 15:51:45 +00:00
allcontributors[bot]
f38b70aee3 docs: update README.md [skip ci] 2022-11-06 15:51:44 +00:00
Kenji Miyake
62aa9ed8ce chore: change sha to non-required
Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>
2022-11-06 13:16:38 +09:00
Tonye Jack
eada3203b5 Update README.md 2022-11-05 13:19:37 -06:00
Tonye Jack
e2d72e213a Update README.md 2022-11-05 04:58:48 -06:00
Tonye Jack
664f1245dd Merge pull request #765 from tj-actions/upgrade-to-v34.2.1
Upgraded to v34.2.1
2022-11-05 04:39:09 -06:00
jackton1
d41a74b958 Upgraded from v34.2.0 -> v34.2.1 2022-11-05 10:01:13 +00:00
Tonye Jack
d2e030b6ed Merge pull request #764 from tj-actions/chore/update-debug-message
chore: update debug message
2022-11-05 03:13:05 -06:00
Tonye Jack
1b73c818fe chore: update debug message 2022-11-05 02:59:57 -06:00
Tonye Jack
a2913c1b3d Merge pull request #763 from tj-actions/upgrade-to-v34.2.0
Upgraded to v34.2.0
2022-11-04 20:39:38 -06:00
jackton1
95f386689b Upgraded from v34.1.1 -> v34.2.0 2022-11-05 02:22:38 +00:00
Tonye Jack
6ba3c59bc6 Merge pull request #762 from tj-actions/chore/update-readme
Updated README.md
2022-11-04 19:44:59 -06:00
jackton1
e65822d31a Updated README.md 2022-11-05 01:09:37 +00:00
Tonye Jack
866ffdf84d Update action.yml 2022-11-04 19:08:02 -06:00
Tonye Jack
338a11e8c5 Merge pull request #761 from tj-actions/chorw/update-test
chore: fixed test
2022-11-04 19:07:10 -06:00
Tonye Jack
6a0f4e7f4d Update diff-sha.sh 2022-11-04 18:30:36 -06:00
Tonye Jack
dee73a71be chore: fixed test 2022-11-04 18:18:11 -06:00
Tonye Jack
9b079a7363 Merge pull request #759 from tj-actions/chore/update-test 2022-11-04 16:57:01 -06:00
Tonye Jack
ac593b977e Update diff-sha.sh 2022-11-04 16:40:47 -06:00
Tonye Jack
5b43f91839 Update diff-sha.sh 2022-11-04 16:31:48 -06:00
Tonye Jack
ece8e1f566 Merge branch 'main' into chore/update-test 2022-11-04 16:06:42 -06:00
Tonye Jack
cfbf2ee2ea Merge pull request #760 from tj-actions/chore/update-env
chore: update env
2022-11-04 16:06:32 -06:00
Tonye Jack
6042b819eb chore: update env 2022-11-04 15:55:29 -06:00
Tonye Jack
367c547d7d Update diff-sha.sh 2022-11-04 15:21:49 -06:00
Tonye Jack
6ac1087775 Update diff-sha.sh 2022-11-04 15:09:11 -06:00
Tonye Jack
2982c7c1d0 Update diff-sha.sh 2022-11-04 15:06:44 -06:00
Tonye Jack
a3a62da413 Update diff-sha.sh 2022-11-04 14:49:06 -06:00
Tonye Jack
958d453c5d Update diff-sha.sh 2022-11-04 14:43:22 -06:00
Tonye Jack
0f09389954 Update diff-sha.sh 2022-11-04 14:41:40 -06:00
Tonye Jack
dc104b5c83 Update diff-sha.sh 2022-11-04 14:25:33 -06:00
Tonye Jack
97e67238ea Update diff-sha.sh
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-04 14:22:55 -06:00
Tonye Jack
ac72938f3a Update diff-sha.sh 2022-11-04 14:17:10 -06:00
Tonye Jack
133f857c90 Update diff-sha.sh 2022-11-04 13:07:40 -06:00
Tonye Jack
3e8708a684 Update diff-sha.sh 2022-11-04 12:28:22 -06:00
Tonye Jack
90a4d2a19b Update diff-sha.sh 2022-11-04 12:12:26 -06:00
Tonye Jack
251c03879a Update diff-sha.sh 2022-11-04 12:10:09 -06:00
Tonye Jack
ae5f032774 Update diff-sha.sh 2022-11-04 12:09:42 -06:00
Tonye Jack
dd6f3c9e10 Update diff-sha.sh 2022-11-04 12:02:58 -06:00
Tonye Jack
84396edc7e Update diff-sha.sh 2022-11-04 11:54:46 -06:00
Tonye Jack
6079b26874 Update diff-sha.sh 2022-11-04 11:40:44 -06:00
Tonye Jack
b94eca1419 chore: update test 2022-11-04 11:40:18 -06:00
Tonye Jack
a14ccf053e Merge pull request #758 from tj-actions/chore/improve-test-coverage
chore: improve test coverage
2022-11-04 11:38:52 -06:00
Tonye Jack
1fd624717d Update diff-sha.sh 2022-11-04 11:26:51 -06:00
Tonye Jack
dca71d6aaa Update diff-sha.sh 2022-11-04 11:24:59 -06:00
Tonye Jack
441dd9f254 chore: improve test coverage 2022-11-04 11:08:33 -06:00
Tonye Jack
6e95ff3cd5 Merge pull request #756 from tj-actions/chore/update-readme
Updated README.md
2022-11-04 00:11:00 -06:00
jackton1
a4d7180f07 Updated README.md 2022-11-04 05:19:08 +00:00
Tonye Jack
8890344e49 Update action.yml 2022-11-03 23:17:57 -06:00
Tonye Jack
d3f15b49f1 Merge pull request #754 from tj-actions/upgrade-to-v34.1.1
Upgraded to v34.1.1
2022-11-03 21:08:46 -06:00
jackton1
8227e3155d Upgraded from v34.0.5 -> v34.1.1 2022-11-04 02:48:17 +00:00
Tonye Jack
d0e44775cd Merge pull request #753 from tj-actions/upgrade-to-v34.1.0
Upgraded to v34.1.0
2022-11-03 20:44:37 -06:00
jackton1
5f73da34f8 Upgraded from v34.0.5 -> v34.1.0 2022-11-04 02:32:03 +00:00
Tonye Jack
ed9a8c623c feat: include merge commit for push events 2022-11-03 20:12:34 -06:00
Tonye Jack
ad3a3e02a7 Merge pull request #752 from tj-actions/upgrade-to-v34.1.0
Upgraded to v34.1.0
2022-11-03 19:24:15 -06:00
Tonye Jack
08509d9a42 Update diff-sha.sh 2022-11-03 19:24:05 -06:00
jackton1
99d1026ab8 Upgraded from v34.0.5 -> v34.1.0 2022-11-04 00:35:35 +00:00
Tonye Jack
a471e65bf2 Merge pull request #746 from tj-actions/chore/update-test 2022-11-03 18:30:49 -06:00
Tonye Jack
807520bd14 Updated test 2022-11-03 17:30:38 -06:00
Tonye Jack
68efb13b02 Updated test 2022-11-03 17:06:45 -06:00
Tonye Jack
3351aa00b2 Update diff-sha.sh 2022-11-03 15:12:56 -06:00
Tonye Jack
b4b4b40c03 Updated diff-sha.sh 2022-11-03 12:32:34 -06:00
Tonye Jack
bfe077bfb6 Updated diff-sha.sh 2022-11-03 12:29:02 -06:00
Tonye Jack
62aef87f39 Updated diff-sha.sh 2022-11-03 12:08:29 -06:00
Tonye Jack
a8965747f2 Updated diff-sha.sh 2022-11-03 11:47:33 -06:00
Tonye Jack
6a28d55cbf Updated diff-sha.sh 2022-11-03 11:45:56 -06:00
Tonye Jack
902daca592 Updated debug message. 2022-11-03 11:33:33 -06:00
Tonye Jack
b8094dc31e Update fetch_depth 2022-11-03 11:31:52 -06:00
Tonye Jack
e2bb33a278 Updated debug message. 2022-11-03 11:04:53 -06:00
Tonye Jack
0cf7a23785 Merge branch 'main' into chore/update-test 2022-11-03 10:39:54 -06:00
Tonye Jack
984ab2b4b8 Merge pull request #751 from tj-actions/chore/update-readme
Updated README.md
2022-11-03 10:36:48 -06:00
jackton1
99b636b6a7 Updated README.md 2022-11-03 16:29:55 +00:00
Tonye Jack
22c9314c52 Merge branch 'main' into chore/update-test 2022-11-03 10:28:51 -06:00
Tonye Jack
d96e4cfa30 Merge pull request #736 from tj-actions/fix/including-changed-files-from-merge-commits
fix: including changed files from merge commits, no merge-base found
2022-11-03 10:28:30 -06:00
Tonye Jack
f390b8d769 Updated to increase shallow clone depth 2022-11-03 10:10:27 -06:00
Tonye Jack
764c279509 Updated to increase shallow clone depth 2022-11-03 10:08:21 -06:00
Tonye Jack
bf1b284c20 Updated to fetch the current PR branch 2022-11-03 10:00:55 -06:00
Tonye Jack
c50a04d832 Updated test.yml 2022-11-03 09:54:28 -06:00
Tonye Jack
f8d4b5c286 Updated to fetch the current PR branch 2022-11-03 09:50:18 -06:00
Tonye Jack
31d24d6654 Update test.yml 2022-11-03 09:31:04 -06:00
Tonye Jack
8fb8d46593 Updated error message. 2022-11-03 09:12:49 -06:00
Tonye Jack
7b3e6ed2f5 Updated diff-sha.sh 2022-11-03 09:04:38 -06:00
Tonye Jack
06d1e2d093 Updated get-changed-paths.sh 2022-11-03 09:03:41 -06:00
Tonye Jack
7d0716889b Fixed the test 2022-11-03 08:58:59 -06:00
Tonye Jack
be35464a0e Updated get-changed-paths.sh 2022-11-03 08:49:35 -06:00
Tonye Jack
b2e6ecea09 Updated test 2022-11-03 08:41:37 -06:00
Tonye Jack
fea3b5eab8 Updated test 2022-11-03 08:33:45 -06:00
Tonye Jack
e15fb07855 Updated get-changed-paths.sh 2022-11-03 08:14:00 -06:00
Tonye Jack
e712ee7e3d Updated get-changed-paths.sh 2022-11-03 08:12:20 -06:00
Tonye Jack
10de0c5e4e Updated get-changed-paths.sh 2022-11-03 08:03:14 -06:00
Tonye Jack
08fb627a3d Updated get-changed-paths.sh 2022-11-03 07:50:49 -06:00
Tonye Jack
61651ceaa9 Fixed test 2022-11-03 07:35:32 -06:00
Tonye Jack
4034cb97bc Update get-changed-paths.sh 2022-11-03 07:14:43 -06:00
Tonye Jack
de59412f4b Update get-changed-paths.sh 2022-11-03 07:12:26 -06:00
Tonye Jack
13809e0a15 Update get-changed-paths.sh 2022-11-03 07:04:41 -06:00
Tonye Jack
c715985c07 Update get-changed-paths.sh 2022-11-03 06:57:33 -06:00
Tonye Jack
32c930e9ab Update get-changed-paths.sh 2022-11-03 06:52:28 -06:00
Tonye Jack
f1febd43b2 Update diff-sha.sh 2022-11-03 06:50:01 -06:00
Tonye Jack
b9fcfc65d8 Update diff-sha.sh 2022-11-03 06:45:29 -06:00
Tonye Jack
19ffb8fde5 Update get-changed-paths.sh 2022-11-03 06:41:07 -06:00
Tonye Jack
420c851349 Update diff-sha.sh 2022-11-03 06:34:25 -06:00
Tonye Jack
75a97e3f7b Update action.yml 2022-11-03 06:31:50 -06:00
Tonye Jack
61af1b57e4 Update test.yml 2022-11-03 06:26:40 -06:00
Tonye Jack
4703a0ce80 Update diff-sha.sh 2022-11-03 06:23:50 -06:00
Tonye Jack
4054514874 Update diff-sha.sh 2022-11-03 06:18:03 -06:00
Tonye Jack
b969806a43 Merge branch 'main' into chore/update-test 2022-11-02 21:10:36 -06:00
Tonye Jack
b9e70f7821 Update diff-sha.sh 2022-11-02 16:34:44 -06:00
Tonye Jack
2a5aadbf48 Merge branch 'main' into fix/including-changed-files-from-merge-commits 2022-11-02 16:09:16 -06:00
Tonye Jack
0f0e558289 Merge pull request #749 from tj-actions/upgrade-to-v34.0.5
Upgraded to v34.0.5
2022-11-02 16:07:52 -06:00
jackton1
7cdc1871c1 Upgraded from v34.0.4 -> v34.0.5 2022-11-02 22:03:13 +00:00
Tonye Jack
12633630ab Merge pull request #748 from tj-actions/fix/error-finding-merge-base 2022-11-02 15:38:04 -06:00
Tonye Jack
0643dfe61b fix: error finding merge-base 2022-11-02 15:27:44 -06:00
Tonye Jack
d66098e3dd chore: update test 2022-11-02 15:09:50 -06:00
Tonye Jack
3fa5a82cb1 Merge branch 'main' into fix/including-changed-files-from-merge-commits 2022-11-02 15:02:05 -06:00
Tonye Jack
58b52f3bf8 Merge pull request #745 from tj-actions/upgrade-to-v34.0.4 2022-11-02 11:29:48 -06:00
jackton1
368551a133 Upgraded from v34.0.3 -> v34.0.4 2022-11-02 16:39:50 +00:00
Tonye Jack
2aafb8f8d0 Merge pull request #744 from tj-actions/upgrade-to-v34.0.3
Upgraded to v34.0.3
2022-11-02 09:53:58 -06:00
jackton1
9c4736bb17 Upgraded from v34.0.2 -> v34.0.3 2022-11-02 15:39:51 +00:00
Tonye Jack
57168941b2 Update diff-sha.sh 2022-11-01 11:43:23 -06:00
Tonye Jack
dedb6325a8 Merge branch 'main' into fix/including-changed-files-from-merge-commits 2022-11-01 11:16:18 -06:00
Tonye Jack
d3cd1f406f Update diff-sha.sh 2022-11-01 02:21:57 -06:00
Tonye Jack
986dcdd054 fix: including changed files from merge commits 2022-11-01 02:20:59 -06:00
7 changed files with 395 additions and 148 deletions

View File

@@ -150,6 +150,15 @@
"contributions": [
"code"
]
},
{
"login": "kenji-miyake",
"name": "Kenji Miyake",
"avatar_url": "https://avatars.githubusercontent.com/u/31987104?v=4",
"profile": "https://www.linkedin.com/in/kenji-miyake/",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,

View File

@@ -211,12 +211,15 @@ jobs:
max-parallel: 4
matrix:
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
fetch-depth: [1, 2]
steps:
- name: Checkout to branch
uses: actions/checkout@v3
with:
fetch-depth: ${{ matrix.fetch-depth }}
- name: Run changed-files with a single commit history
- name: Run changed-files
id: changed-files
uses: ./
@@ -338,13 +341,14 @@ jobs:
max-parallel: 4
matrix:
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
fetch-depth: [0, 1]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
fetch-depth: ${{ matrix.fetch-depth }}
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
@@ -357,6 +361,26 @@ jobs:
echo '${{ toJSON(steps.changed-files.outputs) }}'
shell:
bash
- name: Run changed-files with since_last_remote_commit
id: changed-files-since-last-remote-commit
uses: ./
with:
since_last_remote_commit: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-since-last-remote-commit.outputs) }}'
shell:
bash
- name: Run changed-files with include_all_old_new_renamed_files
id: changed-files-all-old-new-renamed-files
uses: ./
with:
include_all_old_new_renamed_files: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files.outputs) }}'
shell:
bash
- name: List all modified files
run: |
for file in ${{ steps.changed-files.outputs.modified_files }}; do
@@ -397,6 +421,7 @@ jobs:
with:
base_sha: d1c0ee4
sha: 4d04215
fetch_depth: 60000
dir_names: "true"
- name: Show output
run: |
@@ -410,6 +435,27 @@ jobs:
exit 1
shell:
bash
- name: Run changed-files with dir_names specific
id: changed-files-dir-names-specific
uses: ./
with:
base_sha: d1c0ee4
sha: 4d04215
fetch_depth: 60000
dir_names: "true"
files: test/**
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-dir-names-specific.outputs) }}'
shell:
bash
- name: Check dir_names output
if: "!contains(steps.changed-files-dir-names-specific.outputs.all_changed_files, 'test')"
run: |
echo "Invalid output: Expected to include (test) got (${{ steps.changed-files-dir-names-specific.outputs.all_changed_files }})"
exit 1
shell:
bash
- name: Run changed-files with forward slash separator
id: changed-files-forward-slash
uses: ./
@@ -488,6 +534,7 @@ jobs:
with:
base_sha: d1c0ee4
sha: 4d04215
fetch_depth: 60000
include_all_old_new_renamed_files: true
- name: Show output
run: |
@@ -507,6 +554,7 @@ jobs:
with:
base_sha: 4d04215
sha: fe238e6
fetch_depth: 60000
include_all_old_new_renamed_files: true
- name: Show output
run: |
@@ -861,10 +909,12 @@ jobs:
bash
- name: Run changed-files with custom sha
id: changed-files-custom-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-custom-sha.outputs) }}'
shell:

View File

@@ -1,12 +1,134 @@
# Changelog
## [v34.3.0](https://github.com/tj-actions/changed-files/tree/v34.3.0) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.3.0)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.2...v34)
**Closed issues:**
- How can I let the workflow to detect the changes only in the certain micro service? [\#766](https://github.com/tj-actions/changed-files/issues/766)
**Merged pull requests:**
- chore: exclude fetching tags [\#776](https://github.com/tj-actions/changed-files/pull/776) ([jackton1](https://github.com/jackton1))
- chore: update test [\#775](https://github.com/tj-actions/changed-files/pull/775) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#774](https://github.com/tj-actions/changed-files/pull/774) ([jackton1](https://github.com/jackton1))
- feat: add support for using the last remote commit [\#773](https://github.com/tj-actions/changed-files/pull/773) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.2.2 [\#772](https://github.com/tj-actions/changed-files/pull/772) ([jackton1](https://github.com/jackton1))
## [v34.2.2](https://github.com/tj-actions/changed-files/tree/v34.2.2) (2022-11-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.1...v34.2.2)
**Merged pull requests:**
- Updated README.md [\#771](https://github.com/tj-actions/changed-files/pull/771) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#770](https://github.com/tj-actions/changed-files/pull/770) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#769](https://github.com/tj-actions/changed-files/pull/769) ([jackton1](https://github.com/jackton1))
- docs: add kenji-miyake as a contributor for code [\#768](https://github.com/tj-actions/changed-files/pull/768) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- chore: change `sha` to non-required [\#767](https://github.com/tj-actions/changed-files/pull/767) ([kenji-miyake](https://github.com/kenji-miyake))
- Upgraded to v34.2.1 [\#765](https://github.com/tj-actions/changed-files/pull/765) ([jackton1](https://github.com/jackton1))
## [v34.2.1](https://github.com/tj-actions/changed-files/tree/v34.2.1) (2022-11-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.0...v34.2.1)
**Merged pull requests:**
- chore: update debug message [\#764](https://github.com/tj-actions/changed-files/pull/764) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.2.0 [\#763](https://github.com/tj-actions/changed-files/pull/763) ([jackton1](https://github.com/jackton1))
## [v34.2.0](https://github.com/tj-actions/changed-files/tree/v34.2.0) (2022-11-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.1.1...v34.2.0)
**Fixed bugs:**
- \[BUG\] dir\_names + files combo ends up in error [\#757](https://github.com/tj-actions/changed-files/issues/757)
**Closed issues:**
- \[BUG\] Action failing on PR with "Unable to find merge-base in shallow clone. Please increase 'max\_fetch\_depth' to at least 340." [\#755](https://github.com/tj-actions/changed-files/issues/755)
**Merged pull requests:**
- Updated README.md [\#762](https://github.com/tj-actions/changed-files/pull/762) ([jackton1](https://github.com/jackton1))
- chore: fixed test [\#761](https://github.com/tj-actions/changed-files/pull/761) ([jackton1](https://github.com/jackton1))
- chore: update env [\#760](https://github.com/tj-actions/changed-files/pull/760) ([jackton1](https://github.com/jackton1))
- fix: error finding merge-base [\#759](https://github.com/tj-actions/changed-files/pull/759) ([jackton1](https://github.com/jackton1))
- chore: improve test coverage [\#758](https://github.com/tj-actions/changed-files/pull/758) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#756](https://github.com/tj-actions/changed-files/pull/756) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.1.1 [\#754](https://github.com/tj-actions/changed-files/pull/754) ([jackton1](https://github.com/jackton1))
## [v34.1.1](https://github.com/tj-actions/changed-files/tree/v34.1.1) (2022-11-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.1.0...v34.1.1)
**Merged pull requests:**
- Upgraded to v34.1.0 [\#753](https://github.com/tj-actions/changed-files/pull/753) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.1.0 [\#752](https://github.com/tj-actions/changed-files/pull/752) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#751](https://github.com/tj-actions/changed-files/pull/751) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.0.5 [\#749](https://github.com/tj-actions/changed-files/pull/749) ([jackton1](https://github.com/jackton1))
- chore: update test [\#746](https://github.com/tj-actions/changed-files/pull/746) ([jackton1](https://github.com/jackton1))
- fix: including changed files from merge commits, no merge-base found [\#736](https://github.com/tj-actions/changed-files/pull/736) ([jackton1](https://github.com/jackton1))
## [v34.1.0](https://github.com/tj-actions/changed-files/tree/v34.1.0) (2022-11-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.0.5...v34.1.0)
**Fixed bugs:**
- \[BUG\] diff-sha.sh results in "fatal: ambiguous argument '': unknown revision or path not in the working tree." [\#750](https://github.com/tj-actions/changed-files/issues/750)
- \[BUG\] Action failing on PR with "Unable to find merge-base in shallow clone" [\#737](https://github.com/tj-actions/changed-files/issues/737)
- \[BUG\] Wrong changed-files returned for forked PRs [\#714](https://github.com/tj-actions/changed-files/issues/714)
**Closed issues:**
- Logical Issue in deepenShallowCloneToFindCommit [\#747](https://github.com/tj-actions/changed-files/issues/747)
## [v34.0.5](https://github.com/tj-actions/changed-files/tree/v34.0.5) (2022-11-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.0.4...v34.0.5)
**Merged pull requests:**
- fix: error finding merge-base [\#748](https://github.com/tj-actions/changed-files/pull/748) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.0.4 [\#745](https://github.com/tj-actions/changed-files/pull/745) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.0.3 [\#744](https://github.com/tj-actions/changed-files/pull/744) ([jackton1](https://github.com/jackton1))
## [v34.0.4](https://github.com/tj-actions/changed-files/tree/v34.0.4) (2022-11-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.0.3...v34.0.4)
**Merged pull requests:**
- Updated README.md [\#743](https://github.com/tj-actions/changed-files/pull/743) ([jackton1](https://github.com/jackton1))
- feat: increase the default max\_fetch\_depth [\#742](https://github.com/tj-actions/changed-files/pull/742) ([jackton1](https://github.com/jackton1))
## [v34.0.3](https://github.com/tj-actions/changed-files/tree/v34.0.3) (2022-11-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.0.2...v34.0.3)
**Implemented enhancements:**
- Retrieve all changed files and directories relative to the last completed run of a GitHub Actions check [\#735](https://github.com/tj-actions/changed-files/issues/735)
**Merged pull requests:**
- chore: update test increase max-parallel [\#741](https://github.com/tj-actions/changed-files/pull/741) ([jackton1](https://github.com/jackton1))
- feat: pull initial history when using the default fetch-depth [\#740](https://github.com/tj-actions/changed-files/pull/740) ([jackton1](https://github.com/jackton1))
- chore: fixed typo. [\#739](https://github.com/tj-actions/changed-files/pull/739) ([jackton1](https://github.com/jackton1))
- chore: update test [\#738](https://github.com/tj-actions/changed-files/pull/738) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.0.2 [\#734](https://github.com/tj-actions/changed-files/pull/734) ([jackton1](https://github.com/jackton1))
## [v34.0.2](https://github.com/tj-actions/changed-files/tree/v34.0.2) (2022-10-31)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.0.2)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-10-31)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.0.1...v34)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.0.1...v34.0.2)
**Fixed bugs:**
@@ -52,7 +174,7 @@
## [v34.0.0](https://github.com/tj-actions/changed-files/tree/v34.0.0) (2022-10-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v34.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v34.0.0)
**Fixed bugs:**
@@ -65,13 +187,13 @@
- feat: add support for fetching more history [\#709](https://github.com/tj-actions/changed-files/pull/709) ([jackton1](https://github.com/jackton1))
- Upgraded to v33.0.0 [\#707](https://github.com/tj-actions/changed-files/pull/707) ([jackton1](https://github.com/jackton1))
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v33.0.0)
## [v33](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v33)
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33.0.0)
**Closed issues:**
@@ -152,7 +274,7 @@
## [v32.0.0](https://github.com/tj-actions/changed-files/tree/v32.0.0) (2022-10-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v32.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v32.0.0)
**Merged pull requests:**
@@ -163,13 +285,13 @@
- chore\(deps\): update actions/checkout action to v3.1.0 [\#669](https://github.com/tj-actions/changed-files/pull/669) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v31.0.3 [\#667](https://github.com/tj-actions/changed-files/pull/667) ([jackton1](https://github.com/jackton1))
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v31.0.3)
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v31)
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31.0.3)
**Fixed bugs:**
@@ -228,7 +350,7 @@
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v30)
**Fixed bugs:**
@@ -244,13 +366,13 @@
- chore\(deps\): update codacy/codacy-analysis-cli-action action to v4.2.0 [\#634](https://github.com/tj-actions/changed-files/pull/634) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v29.0.9 [\#633](https://github.com/tj-actions/changed-files/pull/633) ([jackton1](https://github.com/jackton1))
## [v29](https://github.com/tj-actions/changed-files/tree/v29) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v29)
## [v29.0.9](https://github.com/tj-actions/changed-files/tree/v29.0.9) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.8...v29.0.9)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v29.0.9)
## [v29](https://github.com/tj-actions/changed-files/tree/v29) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.8...v29)
**Implemented enhancements:**
@@ -1175,7 +1297,7 @@
## [v12](https://github.com/tj-actions/changed-files/tree/v12) (2021-12-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11...v12)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.9...v12)
**Implemented enhancements:**
@@ -1193,13 +1315,13 @@
- \[PR 1\]: Renamed all\_modified\_files to all\_changed\_files [\#283](https://github.com/tj-actions/changed-files/pull/283) ([jackton1](https://github.com/jackton1))
- Upgraded to v11.9 [\#280](https://github.com/tj-actions/changed-files/pull/280) ([jackton1](https://github.com/jackton1))
## [v11](https://github.com/tj-actions/changed-files/tree/v11) (2021-12-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.9...v11)
## [v11.9](https://github.com/tj-actions/changed-files/tree/v11.9) (2021-12-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.3.1...v11.9)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11...v11.9)
## [v11](https://github.com/tj-actions/changed-files/tree/v11) (2021-12-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.3.1...v11)
**Implemented enhancements:**

View File

@@ -9,7 +9,7 @@
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-16-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
@@ -94,6 +94,8 @@ jobs:
echo "List all the files that have changed: ${{ steps.changed-files-specific.outputs.all_changed_files }}"
```
I want to thank everyone supporting and using this project, your are awesome. Special thanks to every contributor.
If you feel generous and want to show some extra appreciation:
Support this project with a :star:
@@ -151,28 +153,29 @@ Support this project with a :star:
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> |
| diff\_relative | string | false | | Exclude changes outside the current<br>directory and show pathnames relative<br>to it. **NOTE:** This requires<br>you to specify the top<br>level directory via the `path`<br>input. |
| dir\_names | string | false | `"false"` | Output unique changed directories instead<br>of filenames. **NOTE:** This returns<br>`.` for changed files located<br>in the root of the<br>project. |
| files | string | false | | File and directory patterns to<br>detect changes using only these<br>list of file(s) (Defaults to<br>the entire repo) **NOTE:** Multiline<br>file/directory patterns should not include<br>qoutes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files` input. |
| files\_ignore | string | false | | Ignore changes to these file(s)<br>**NOTE:** Multiline file/directory patterns should<br>not include qoutes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files_ignore` input |
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the<br>`files-ignore` input |
| files\_separator | string | false | `"\n"` | Separator used to split the<br>`files` input |
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this<br>can generate a large output<br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| json | string | false | `"false"` | Output list of changed files<br>in a JSON formatted string<br>which can be used for<br>matrix jobs. |
| max\_fetch\_depth | string | false | `"300"` | Max limit for fetching branch<br>history. **NOTE**: This can be<br>adjusted to resolve errors with<br>insufficient history. |
| old\_new\_files\_separator | string | false | `" "` | Split character for multiple old<br>and new filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and<br>new filename pairs. |
| path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> |
| quotepath | string | false | `"true"` | Use non ascii characters to<br>match files and output the<br>filenames completely verbatim by setting<br>this to `false` |
| separator | string | false | `" "` | Split character for output strings<br> |
| sha | string | true | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes |
| since | string | false | | Get changed files for commits<br>whose timestamp is older than<br>the given time. |
| until | string | false | | Get changed files for commits<br>whose timestamp is earlier than<br>the given time. |
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> |
| diff\_relative | string | false | | Exclude changes outside the current<br>directory and show pathnames relative<br>to it. **NOTE:** This requires<br>you to specify the top<br>level directory via the `path`<br>input. |
| dir\_names | string | false | `"false"` | Output unique changed directories instead<br>of filenames. **NOTE:** This returns<br>`.` for changed files located<br>in the root of the<br>project. |
| fetch\_depth | string | false | `"40"` | Limit depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
| files | string | false | | File and directory patterns to<br>detect changes using only these<br>list of file(s) (Defaults to<br>the entire repo) **NOTE:** Multiline<br>file/directory patterns should not include<br>qoutes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files` input. |
| files\_ignore | string | false | | Ignore changes to these file(s)<br>**NOTE:** Multiline file/directory patterns should<br>not include qoutes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files_ignore` input |
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the<br>`files-ignore` input |
| files\_separator | string | false | `"\n"` | Separator used to split the<br>`files` input |
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this<br>can generate a large output<br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| json | string | false | `"false"` | Output list of changed files<br>in a JSON formatted string<br>which can be used for<br>matrix jobs. |
| old\_new\_files\_separator | string | false | `" "` | Split character for multiple old<br>and new filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and<br>new filename pairs. |
| path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> |
| quotepath | string | false | `"true"` | Use non ascii characters to<br>match files and output the<br>filenames completely verbatim by setting<br>this to `false` |
| separator | string | false | `" "` | Split character for output strings<br> |
| sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes |
| since | string | false | | Get changed files for commits<br>whose timestamp is older than<br>the given time. |
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on<br>the remote branch as the<br>`base_sha`. Defaults to the last<br>non merge commit on the<br>target branch for pull request<br>events and the previous commit<br>of the current branch for<br>push events. |
| until | string | false | | Get changed files for commits<br>whose timestamp is earlier than<br>the given time. |
<!-- AUTO-DOC-INPUT:END -->
@@ -592,9 +595,10 @@ This package was created with [Cookiecutter](https://github.com/cookiecutter/coo
* [tj-actions/glob](https://github.com/tj-actions/glob)
* [tj-actions/demo](https://github.com/tj-actions/demo)
* [tj-actions/demo2](https://github.com/tj-actions/demo2)
* [tj-actions/demo3](https://github.com/tj-actions/demo3)
* [tj-actions/release-tagger](https://github.com/tj-actions/release-tagger)
* [tj-actions/auto-doc](https://github.com/tj-actions/auto-doc)
* \[tj-actions/verify-changed-files]\(https://github.com/tj-actions/verify-changed-files
* [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files)
## Report Bugs
@@ -639,6 +643,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<tr>
<td align="center"><a href="https://github.com/kostiantyn-korniienko-aurea"><img src="https://avatars.githubusercontent.com/u/37180625?v=4?s=100" width="100px;" alt="Kostiantyn Korniienko"/><br /><sub><b>Kostiantyn Korniienko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=kostiantyn-korniienko-aurea" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/lpulley"><img src="https://avatars.githubusercontent.com/u/7193187?v=4?s=100" width="100px;" alt="Logan Pulley"/><br /><sub><b>Logan Pulley</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=lpulley" title="Code">💻</a></td>
<td align="center"><a href="https://www.linkedin.com/in/kenji-miyake/"><img src="https://avatars.githubusercontent.com/u/31987104?v=4?s=100" width="100px;" alt="Kenji Miyake"/><br /><sub><b>Kenji Miyake</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=kenji-miyake" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -45,7 +45,7 @@ inputs:
default: ""
sha:
description: "Specify a different commit SHA used for comparing changes"
required: true
required: false
default: ${{ github.sha }}
base_sha:
description: "Specify a different base commit SHA used for comparing changes"
@@ -77,10 +77,14 @@ inputs:
description: "Output list of changed files in a JSON formatted string which can be used for matrix jobs."
required: false
default: "false"
max_fetch_depth:
description: "Max limit for fetching branch history. **NOTE**: This can be adjusted to resolve errors with insufficient history."
fetch_depth:
description: "Limit depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
required: false
default: "300"
default: "40"
since_last_remote_commit:
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non merge commit on the target branch for pull request events and the previous commit of the current branch for push events."
required: true
default: "false"
outputs:
added_files:
@@ -158,6 +162,7 @@ runs:
env:
GITHUB_SERVER_URL: ${{ github.server_url }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_REF: ${{ github.ref }}
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_HEAD_REF: ${{ github.head_ref }}
GITHUB_WORKSPACE: ${{ github.workspace }}
@@ -171,7 +176,8 @@ runs:
INPUT_SINCE: ${{ inputs.since }}
INPUT_UNTIL: ${{ inputs.until }}
INPUT_PATH: ${{ inputs.path }}
INPUT_MAX_FETCH_DEPTH: ${{ inputs.max_fetch_depth }}
INPUT_FETCH_DEPTH: ${{ inputs.fetch_depth }}
INPUT_SINCE_LAST_REMOTE_COMMIT: ${{ inputs.since_last_remote_commit }}
- name: Glob match
uses: tj-actions/glob@v15
id: glob

View File

@@ -1,9 +1,14 @@
#!/usr/bin/env bash
set -eu
set -euo pipefail
INITIAL_COMMIT="false"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
EXTRA_ARGS="--no-tags"
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
EXTRA_ARGS=""
fi
echo "::group::changed-files-diff-sha"
@@ -38,62 +43,41 @@ else
echo "Valid git version found: ($GIT_VERSION)"
fi
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
echo "::debug::Getting HEAD SHA for '$INPUT_UNTIL'..."
CURRENT_SHA=$(git log -1 --format="%H" --date=local --until="$INPUT_UNTIL") && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Invalid until date: $INPUT_UNTIL"
exit 1
fi
else
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list -n 1 "HEAD" 2>&1) && exit_status=$? || exit_status=$?
else
CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi
fi
echo "::debug::Verifying the current commit SHA: $CURRENT_SHA"
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Unable to locate the current sha: $CURRENT_SHA"
echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
exit 1
else
echo "::debug::Current SHA: $CURRENT_SHA"
fi
function deepenShallowCloneToFindCommit() {
local base_ref="$1"
local diff="$2"
local ref="$3"
local target_branch="$4"
local depth=20
local max_depth=$INPUT_MAX_FETCH_DEPTH
while ! git diff "$base_ref$diff$ref" &>/dev/null; do
echo "::debug::Unable to find merge-base in shallow clone. Increasing depth to $((depth * 2))..."
depth=$((depth * 2))
if [[ $depth -gt $max_depth ]]; then
echo "::error::Unable to find merge-base in shallow clone. Please increase 'max_fetch_depth' to at least $((depth + 20))."
exit 1
fi
git fetch --no-tags -u --progress --deepen="$depth" origin "$target_branch":"$target_branch"
done
}
if [[ -z $GITHUB_BASE_REF ]]; then
echo "Running on a push event..."
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//} && exit_status=$? || exit_status=$?
CURRENT_BRANCH=$TARGET_BRANCH && exit_status=$? || exit_status=$?
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
echo "::debug::Getting HEAD SHA for '$INPUT_UNTIL'..."
CURRENT_SHA=$(git log -1 --format="%H" --date=local --until="$INPUT_UNTIL") && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Invalid until date: $INPUT_UNTIL"
exit 1
fi
else
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH"
CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi
fi
echo "::debug::Verifying the current commit SHA: $CURRENT_SHA"
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Unable to locate the current sha: $CURRENT_SHA"
echo "::error::Please verify that current sha is valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
exit 1
else
echo "::debug::Current SHA: $CURRENT_SHA"
fi
if [[ -z $INPUT_BASE_SHA ]]; then
if [[ -n "$INPUT_SINCE" ]]; then
echo "::debug::Getting base SHA for '$INPUT_SINCE'..."
@@ -104,10 +88,20 @@ if [[ -z $GITHUB_BASE_REF ]]; then
exit 1
fi
else
PREVIOUS_SHA=""
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
PREVIOUS_SHA=""
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
if [[ -z "$PREVIOUS_SHA" ]]; then
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
fi
fi
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
@@ -130,6 +124,8 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH"
PREVIOUS_SHA=$INPUT_BASE_SHA
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
CURRENT_BRANCH=$TARGET_BRANCH
@@ -138,15 +134,12 @@ if [[ -z $GITHUB_BASE_REF ]]; then
echo "::debug::Target branch $TARGET_BRANCH..."
echo "::debug::Current branch $CURRENT_BRANCH..."
echo "::debug::Fetching previous commit SHA: $PREVIOUS_SHA"
deepenShallowCloneToFindCommit "$PREVIOUS_SHA" ".." "$CURRENT_SHA" "$TARGET_BRANCH"
echo "::debug::Verifying the previous commit SHA: $PREVIOUS_SHA"
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Unable to locate the previous sha: $PREVIOUS_SHA"
echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
echo "::error::Please verify that the previous sha commit is valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
exit 1
fi
else
@@ -154,34 +147,96 @@ else
TARGET_BRANCH=$GITHUB_BASE_REF
CURRENT_BRANCH=$GITHUB_HEAD_REF
echo "Fetching remote refs..."
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH"
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 2>/dev/null || true
depth=$INPUT_FETCH_DEPTH
while [ -z "$( git merge-base "$TARGET_BRANCH" HEAD )" ]; do
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS --deepen="$depth" origin "$TARGET_BRANCH" HEAD;
depth=$((depth * 10))
max_depth=5000
if [[ $depth -gt $max_depth ]]; then
echo "::error::Unable to find merge-base between $TARGET_BRANCH and HEAD."
exit 1
fi
done
fi
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
echo "::debug::Getting HEAD SHA for '$INPUT_UNTIL'..."
CURRENT_SHA=$(git log -1 --format="%H" --date=local --until="$INPUT_UNTIL") && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Invalid until date: $INPUT_UNTIL"
exit 1
fi
else
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list --no-merges -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
else
CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi
fi
echo "::debug::Verifying the current commit SHA: $CURRENT_SHA"
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Unable to locate the current sha: $CURRENT_SHA"
echo "::error::Please verify that current sha is valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
exit 1
else
echo "::debug::Current SHA: $CURRENT_SHA"
fi
if [[ -z $INPUT_BASE_SHA ]]; then
git fetch --no-tags -u --progress --deepen=30 origin "$TARGET_BRANCH":"$TARGET_BRANCH"
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
PREVIOUS_SHA=""
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
fi
echo "::debug::Previous SHA: $PREVIOUS_SHA"
else
git fetch --no-tags -u --progress --deepen=30 origin "$INPUT_BASE_SHA" && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
fi
echo "::debug::Target branch: $TARGET_BRANCH"
echo "::debug::Current branch: $CURRENT_BRANCH"
echo "::debug::Fetching previous commit SHA: $PREVIOUS_SHA"
deepenShallowCloneToFindCommit "$PREVIOUS_SHA" "..." "$CURRENT_SHA" "$TARGET_BRANCH"
echo "::debug::Verifying the previous commit SHA: $PREVIOUS_SHA"
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Unable to locate the previous sha: $PREVIOUS_SHA"
echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
echo "::error::Please verify that the previous sha is valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
exit 1
fi
fi
if [[ -n "$PREVIOUS_SHA" && -n "$CURRENT_SHA" && "$PREVIOUS_SHA" == "$CURRENT_SHA" && "$INITIAL_COMMIT" == "false" ]]; then
echo "::error::Similar commit hashes detected: previous sha: $PREVIOUS_SHA is equivalent to the current sha: $CURRENT_SHA"
echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" && "$INITIAL_COMMIT" == "false" ]]; then
echo "::error::Similar commit hashes detected: previous sha: $PREVIOUS_SHA is equivalent to the current sha: $CURRENT_SHA."
echo "::error::Please verify that both commits are valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
exit 1
fi

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
set -eu
set -euo pipefail
INPUT_SEPARATOR="${INPUT_SEPARATOR//'%'/'%25'}"
INPUT_SEPARATOR="${INPUT_SEPARATOR//'.'/'%2E'}"
@@ -30,13 +30,13 @@ function get_diff() {
local filter="$3"
while IFS='' read -r sub; do
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
fi
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
@@ -74,13 +74,13 @@ function get_renames() {
local sha="$2"
while IFS='' read -r sub; do
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
fi
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
@@ -97,14 +97,14 @@ function get_renames() {
done < <(git submodule | awk '{print $2}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
git log --name-status --ignore-submodules=all "$base" "$sha" | grep -E "^R" | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | uniq && exit_status=$? || exit_status=$?
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | uniq && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get renamed directories between: $base$sha"
exit 1
fi
else
git log --name-status --ignore-submodules=all "$base" "$sha" | grep -E "^R" | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' && exit_status=$? || exit_status=$?
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get renamed files between: $base$sha"
@@ -161,19 +161,19 @@ if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" ]]; then
fi
fi
else
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | grep -x -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | { grep -x -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -w -E -f "$INPUT_FILES_PATTERN_FILE" | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | { grep -w -E -f "$INPUT_FILES_PATTERN_FILE" || true; } | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
ALL_OTHER_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')