Compare commits

...

98 Commits
v18.5 ... v19.3

Author SHA1 Message Date
Tonye Jack
e55f7fb99e Merge pull request #487 from tj-actions/upgrade-to-v19.2 2022-05-14 18:45:52 -04:00
Tonye Jack
9151ce890a Merge branch 'main' into upgrade-to-v19.2 2022-05-14 18:45:33 -04:00
Tonye Jack
225875592f Merge pull request #488 from tj-actions/fix/bug-with-renames 2022-05-14 18:41:58 -04:00
Tonye Jack
4a7ed1cd68 Merge branch 'main' into fix/bug-with-renames 2022-05-14 18:39:10 -04:00
jackton1
0a05f634b6 Updated README.md 2022-05-14 18:37:49 -04:00
Tonye Jack
939ae1be50 Fixed test. 2022-05-14 18:37:49 -04:00
Tonye Jack
1abdcf81f3 Renamed output. 2022-05-14 18:37:49 -04:00
Tonye Jack
4b7f83fb7a Updated test 2022-05-14 18:37:49 -04:00
Tonye Jack
c815c5df17 Added get_renames function 2022-05-14 18:37:49 -04:00
Tonye Jack
74d37f129f Renamed files. 2022-05-14 18:37:49 -04:00
Tonye Jack
8138d89db1 Renamed test/test rename 2.txt -> test/test rename-2.txt 2022-05-14 18:37:49 -04:00
Tonye Jack
5b5e575c4c Renamed test/test rename 1.txt -> test/test rename-1.txt 2022-05-14 18:37:49 -04:00
Tonye Jack
423833260b Updated docs and fixed bug with old new files list 2022-05-14 18:37:49 -04:00
Tonye Jack
fbb03cca84 Updated description. 2022-05-14 18:37:49 -04:00
Tonye Jack
02c29677a6 Renamed test files. 2022-05-14 18:37:49 -04:00
Tonye Jack
09ca4109ad Renamed test/test-rename-2.txt -> test/test rename-2.txt 2022-05-14 18:37:49 -04:00
Tonye Jack
b1873d4919 Renamed test/test-rename-1.txt -> test/test rename-1.txt 2022-05-14 18:37:49 -04:00
Tonye Jack
7f7bafe37a Updated test.yml 2022-05-14 18:37:49 -04:00
Tonye Jack
9dcecf749d Renamed test/test-rename.txt -> test/test-rename-2.txt 2022-05-14 18:37:49 -04:00
Tonye Jack
23cf07c0bc Added test-rename.txt 2022-05-14 18:37:49 -04:00
Tonye Jack
fd30e95c05 Added support for returning old and new names of renamed files 2022-05-14 18:37:49 -04:00
Tonye Jack
67e0fe5e75 Renamed test-renamed.txt -> test-rename-1.txt 2022-05-14 18:37:48 -04:00
Tonye Jack
3e205d23e0 Added a test file. 2022-05-14 18:37:48 -04:00
Tonye Jack
b4def97a99 Revert "feat: Added support for returning old and new names of renamed files" (#485) 2022-05-14 18:37:38 -04:00
Tonye Jack
ed9e4befd6 Updated entrypoint.sh 2022-05-14 18:27:02 -04:00
Tonye Jack
cce5bff7c0 Merge branch 'main' into feat/add-support-for-retrieving-old-and-new-names-of-renamed-files 2022-05-14 18:24:14 -04:00
jackton1
b6d9173b6b Upgraded from v19.1 -> v19.2 2022-05-14 22:24:03 +00:00
jackton1
07b38ce1a1 Updated README.md 2022-05-14 18:19:03 -04:00
Tonye Jack
7a19e1f563 Fixed test. 2022-05-14 18:10:09 -04:00
Tonye Jack
ce04a71447 Renamed output. 2022-05-14 18:10:09 -04:00
Tonye Jack
f96d468a04 Updated test 2022-05-14 18:10:09 -04:00
Tonye Jack
6655125c37 Added get_renames function 2022-05-14 18:10:09 -04:00
Tonye Jack
4f723c8a08 Renamed files. 2022-05-14 18:10:09 -04:00
Tonye Jack
33a8d4202a Renamed test/test rename 2.txt -> test/test rename-2.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
915804c250 Renamed test/test rename 1.txt -> test/test rename-1.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
4523c1be3d Updated docs and fixed bug with old new files list 2022-05-14 18:10:09 -04:00
Tonye Jack
8ee5785691 Updated description. 2022-05-14 18:10:09 -04:00
Tonye Jack
7d223a4638 Renamed test files. 2022-05-14 18:10:09 -04:00
Tonye Jack
c632bba0e4 Renamed test/test-rename-2.txt -> test/test rename-2.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
ac7e9e7409 Renamed test/test-rename-1.txt -> test/test rename-1.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
8567a10991 Updated test.yml 2022-05-14 18:10:09 -04:00
Tonye Jack
1b9b564b1b Renamed test/test-rename.txt -> test/test-rename-2.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
c91875f5c7 Added test-rename.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
c65a184a68 Added support for returning old and new names of renamed files 2022-05-14 18:10:09 -04:00
Tonye Jack
9ee57c0871 Renamed test-renamed.txt -> test-rename-1.txt 2022-05-14 18:10:09 -04:00
Tonye Jack
a47fe7c043 Added a test file. 2022-05-14 18:10:09 -04:00
Tonye Jack
f1a01ff091 feat: Add support for listing renames. 2022-05-14 18:10:09 -04:00
Tonye Jack
0093196671 Revert "feat: Added support for returning old and new names of renamed files" (#485) 2022-05-14 18:08:54 -04:00
Tonye Jack
3baba75579 feat: Added support for returning old and new names of renamed files (#483) 2022-05-14 18:05:59 -04:00
Tonye Jack
c69f784c4f Fixed test. 2022-05-14 17:56:47 -04:00
Tonye Jack
b60efcf625 Renamed output. 2022-05-14 17:54:38 -04:00
Tonye Jack
044773f27a Updated test 2022-05-14 17:15:28 -04:00
Tonye Jack
e42d2fcf77 Added get_renames function 2022-05-14 17:05:44 -04:00
Tonye Jack
a968e74116 Reformatted table 2022-05-14 16:00:31 -04:00
Tonye Jack
b711f8d3a4 Renamed files. 2022-05-14 15:25:52 -04:00
Tonye Jack
fe238e608d Renamed test/test rename 2.txt -> test/test rename-2.txt 2022-05-14 15:25:17 -04:00
Tonye Jack
4d042152e5 Renamed test/test rename 1.txt -> test/test rename-1.txt 2022-05-14 15:24:52 -04:00
Tonye Jack
d1c0ee4e67 Updated docs and fixed bug with old new files list 2022-05-14 15:24:13 -04:00
Tonye Jack
12bb701066 Updated description. 2022-05-14 14:54:45 -04:00
Tonye Jack
a8e851942c Renamed test files. 2022-05-14 14:45:46 -04:00
Tonye Jack
724e1a1fea Renamed test/test-rename-2.txt -> test/test rename-2.txt 2022-05-14 14:44:54 -04:00
Tonye Jack
fdd4ec0d74 Renamed test/test-rename-1.txt -> test/test rename-1.txt 2022-05-14 14:44:21 -04:00
Tonye Jack
020ae6440a Updated test.yml 2022-05-14 14:43:09 -04:00
Tonye Jack
815b8a6dbc Renamed test/test-rename.txt -> test/test-rename-2.txt 2022-05-14 14:41:17 -04:00
Tonye Jack
070aa8aaf9 Added test-rename.txt 2022-05-14 14:40:44 -04:00
Tonye Jack
5f40fac43c Added support for returning old and new names of renamed files 2022-05-14 14:33:40 -04:00
Tonye Jack
86a97221c8 Renamed test-renamed.txt -> test-rename-1.txt 2022-05-14 13:42:25 -04:00
Tonye Jack
562c86f382 Added a test file. 2022-05-14 13:41:13 -04:00
Tonye Jack
c004907b76 feat: Add support for listing renames. 2022-05-14 13:40:14 -04:00
Tonye Jack
1e1e79beb1 Update README.md 2022-05-14 02:37:55 -04:00
Tonye Jack
931aafa079 chore: Update the exit status when 2022-05-14 02:35:56 -04:00
Tonye Jack
1d44b6d930 Upgraded from v19 -> v19.1 (#482)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-05-14 02:30:50 -04:00
Renovate Bot
d26252004a chore(deps): update tj-actions/glob action to v7.20 2022-05-14 02:25:05 -04:00
Renovate Bot
62c26bf6f0 chore(deps): update tj-actions/glob action to v7.18 2022-05-13 21:57:03 -04:00
Renovate Bot
fb18af2532 chore(deps): update pascalgn/automerge-action action to v0.15.3 2022-05-12 14:31:53 -04:00
Renovate Bot
3aa2cc8b70 chore(deps): update peter-evans/create-pull-request action to v4.0.3 2022-05-08 06:34:28 -04:00
Renovate Bot
f301f0f948 chore(deps): update tj-actions/glob action to v7.17 2022-05-02 02:47:55 -04:00
Tonye Jack
11f586bd88 Update README.md 2022-04-28 02:30:50 -04:00
Tonye Jack
679a1f78bd Upgraded from v18.7 -> v19 (#474)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-04-28 02:13:50 -04:00
Tonye Jack
a6d456f542 feat: Add support for non ascii filenames (#473)
* feat: Add support for non ascii filenames

Closes: #437

* Update action.yml

* Update README.md

* Create test-è.txt

* Update test.yml

* Update README.md

* Update action.yml

* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh
2022-04-28 02:08:15 -04:00
Renovate Bot
059617dc0d chore(deps): update github/codeql-action action to v2 2022-04-25 08:30:56 -04:00
Renovate Bot
b7c4b5161d chore(deps): update reviewdog/action-shellcheck action to v1.15 2022-04-21 11:25:01 -04:00
Renovate Bot
55d7ed5032 chore(deps): update actions/checkout action to v3.0.2 2022-04-21 11:19:11 -04:00
Renovate Bot
9d6a865b9e chore(deps): update actions/checkout action to v3.0.1 2022-04-14 15:09:58 -04:00
Tonye Jack
b94562c2d4 Update README.md 2022-04-13 02:51:04 -04:00
Renovate Bot
ef211120a5 chore(deps): update tj-actions/glob action to v7.16 2022-04-08 22:36:46 -04:00
Renovate Bot
8a0500a5cb chore(deps): update peter-evans/create-pull-request action to v4.0.2 2022-04-08 10:08:43 -04:00
Tonye Jack
295aabe028 Upgraded to v18.7 (#462)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-04-08 05:48:13 -04:00
Tonye Jack
a59f800cbb Update action.yml 2022-04-08 05:43:01 -04:00
Tonye Jack
5cf6e7a5be Update action.yml 2022-04-08 05:41:00 -04:00
Renovate Bot
576594102a chore(deps): update peter-evans/create-pull-request action to v4.0.1 2022-03-31 07:52:28 -04:00
Tonye Jack
f4d8dc543f Upgraded to v18.6 (#460)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-03-30 08:23:15 -04:00
Tonye Jack
a2f1692a6f fix: resolved error with escaping unicode unsafe characters (#459) 2022-03-30 08:17:26 -04:00
Tonye Jack
969e5d8dad Update README.md 2022-03-29 23:50:08 -04:00
Tonye Jack
a6c69ab0ca chore: remove unused code (#457)
* Delete label-conflict.yml

* Delete rebase.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml
2022-03-29 14:18:12 -04:00
Tonye Jack
98112b163c chore: test changes to .github workflows files (#456) 2022-03-29 13:19:47 -04:00
Tonye Jack
a6cc85b4b6 chore: test filenames that should be escaped (#455) 2022-03-29 11:26:12 -04:00
Tonye Jack
6c238a972b Upgraded to v18.5 (#454)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-03-29 11:08:51 -04:00
18 changed files with 285 additions and 110 deletions

View File

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

View File

@@ -44,6 +44,6 @@ jobs:
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v1
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif

View File

@@ -1,19 +0,0 @@
name: "Maintenance"
on:
push:
branches:
- main
pull_request:
types: [synchronize]
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: check if prs are dirty
uses: eps1lon/actions-label-merge-conflict@releases/2.x
with:
dirtyLabel: "PR: needs rebase"
repoToken: "${{ secrets.GITHUB_TOKEN }}"
commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request."
commentOnClean: "Conflicts have been resolved."

View File

@@ -1,18 +0,0 @@
name: Automatic Rebase
on:
issue_comment:
types: [created]
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.0.0
with:
token: ${{ secrets.PAT_TOKEN }}
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.5
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}

View File

@@ -19,7 +19,7 @@ jobs:
git submodule update --remote --recursive
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.0.0
uses: peter-evans/create-pull-request@v4.0.3
with:
title: "Updated submodule"
branch: "chore/update-submodule"

View File

@@ -8,7 +8,7 @@ jobs:
update-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.0.0
- uses: actions/checkout@v3.0.2
with:
fetch-depth: 0
- name: Sync release version.
@@ -23,7 +23,7 @@ jobs:
with:
output: 'HISTORY.md'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.0.0
uses: peter-evans/create-pull-request@v4.0.3
with:
base: "main"
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"

View File

@@ -4,7 +4,7 @@ on:
push:
branches:
- main
- '**'
- "**"
pull_request:
branches:
- main
@@ -18,8 +18,8 @@ jobs:
- name: Checkout to branch
uses: actions/checkout@v3
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.14
uses: reviewdog/action-shellcheck@v1.15
test-pull-requests-from-forks:
name: Test changed-files diff on pull_requests from forks
runs-on: ${{ matrix.platform }}
@@ -141,7 +141,7 @@ jobs:
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
- name: Run changed-files-specific with non existent base sha
id: changed-files-specific
uses: ./
@@ -181,7 +181,7 @@ jobs:
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
- name: Run changed-files-specific with non existent sha
id: changed-files-specific
uses: ./
@@ -232,6 +232,16 @@ jobs:
echo "Your README.md has been modified ${{ steps.changed-files.outputs.modified_files }}."
shell:
bash
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: ./
with:
quotepath: "false"
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-quotepath.outputs) }}'
shell:
bash
- name: Run changed-files with forward slash separator
id: changed-files-forward-slash
uses: ./
@@ -284,6 +294,42 @@ jobs:
echo '${{ toJSON(steps.changed-files-specific-newline-source-file.outputs) }}'
shell:
bash
- name: Run changed-files for old new filenames test rename 1
id: changed-files-all-old-new-renamed-files-1
uses: ./
with:
base_sha: d1c0ee4
sha: 4d04215
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files-1.outputs) }}'
shell:
bash
- name: Check all_old_new_renamed_files output
if: "!contains(steps.changed-files-all-old-new-renamed-files-1.outputs.all_old_new_renamed_files, 'test/test rename 1.txt,test/test rename-1.txt')"
run: |
echo "Invalid output: Expected to include (test/test rename 1.txt,test/test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files-1.outputs.all_old_new_renamed_files }})"
exit 1
shell:
bash
- name: Run changed-files for old new filenames test rename 2
id: changed-files-all-old-new-renamed-files-2
uses: ./
with:
base_sha: 4d04215
sha: fe238e6
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files-2.outputs) }}'
shell:
bash
- name: Check all_old_new_renamed_files output
if: "!contains(steps.changed-files-all-old-new-renamed-files-2.outputs.all_old_new_renamed_files, 'test/test rename 2.txt,test/test rename-2.txt')"
run: |
echo "Invalid output: Expected to include (test/test rename 2.txt test/test rename-2.txt) got (${{ steps.changed-files-all-old-new-renamed-files-2.outputs.all_old_new_renamed_files }})"
exit 1
shell:
bash
- name: Run changed-files with specific files
id: changed-files-specific
uses: ./
@@ -518,7 +564,7 @@ jobs:
test/changed-files-list.txt
test/changed-files-list.txt
files: |
**/workflows/rebase.yml
**/workflows/greetings.yml
- name: Check if a excluded file is not included in any_changed
if: contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test/test.txt')
run: |
@@ -531,7 +577,7 @@ jobs:
(
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'action.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/rebase.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/greetings.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test.txt')
)
run: |
@@ -553,7 +599,7 @@ jobs:
(
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'action.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/rebase.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/greetings.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test.txt')
)
run: |

View File

@@ -9,7 +9,7 @@ jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.0.0
- uses: actions/checkout@v3.0.2
with:
fetch-depth: 0
@@ -31,7 +31,7 @@ jobs:
- name: Create Pull Request
if: failure()
uses: peter-evans/create-pull-request@v4.0.0
uses: peter-evans/create-pull-request@v4.0.3
with:
base: "main"
title: "Updated README.md"

View File

@@ -1,8 +1,12 @@
# Changelog
## [v18.4](https://github.com/tj-actions/changed-files/tree/v18.4) (2022-03-21)
## [v19.2](https://github.com/tj-actions/changed-files/tree/v19.2) (2022-05-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v18.3...v18.4)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v19.1...v19.2)
**Implemented enhancements:**
- \[Feature\] Provide Original Filename in a Rename [\#467](https://github.com/tj-actions/changed-files/issues/467)
**Closed issues:**
@@ -10,6 +14,112 @@
**Merged pull requests:**
- feat/add support for retrieving old and new names of renamed files [\#486](https://github.com/tj-actions/changed-files/pull/486) ([jackton1](https://github.com/jackton1))
- Revert "feat: Added support for returning old and new names of renamed files" [\#485](https://github.com/tj-actions/changed-files/pull/485) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#484](https://github.com/tj-actions/changed-files/pull/484) ([jackton1](https://github.com/jackton1))
- feat: Added support for returning old and new names of renamed files [\#483](https://github.com/tj-actions/changed-files/pull/483) ([jackton1](https://github.com/jackton1))
- Upgraded to v19.1 [\#482](https://github.com/tj-actions/changed-files/pull/482) ([jackton1](https://github.com/jackton1))
## [v19.1](https://github.com/tj-actions/changed-files/tree/v19.1) (2022-05-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v19...v19.1)
**Fixed bugs:**
- \[BUG\] Glob pattern for markdown files doesn't work properly [\#479](https://github.com/tj-actions/changed-files/issues/479)
- \[BUG\] Fails in Self-Hosted Runner [\#477](https://github.com/tj-actions/changed-files/issues/477)
- \[BUG\] File names with non ascii characters results in octal escape sequence output [\#437](https://github.com/tj-actions/changed-files/issues/437)
**Merged pull requests:**
- chore\(deps\): update tj-actions/glob action to v7.20 [\#481](https://github.com/tj-actions/changed-files/pull/481) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update tj-actions/glob action to v7.18 [\#480](https://github.com/tj-actions/changed-files/pull/480) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update pascalgn/automerge-action action to v0.15.3 [\#478](https://github.com/tj-actions/changed-files/pull/478) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update peter-evans/create-pull-request action to v4.0.3 [\#476](https://github.com/tj-actions/changed-files/pull/476) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update tj-actions/glob action to v7.17 [\#475](https://github.com/tj-actions/changed-files/pull/475) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v19 [\#474](https://github.com/tj-actions/changed-files/pull/474) ([jackton1](https://github.com/jackton1))
## [v19](https://github.com/tj-actions/changed-files/tree/v19) (2022-04-28)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v18.7...v19)
**Implemented enhancements:**
- \[Feature\] List previous paths of renamed files as deleted files [\#468](https://github.com/tj-actions/changed-files/issues/468)
**Closed issues:**
- Not listing renamed file with previous path in deleted\_files list [\#466](https://github.com/tj-actions/changed-files/issues/466)
**Merged pull requests:**
- feat: Add support for non ascii filenames [\#473](https://github.com/tj-actions/changed-files/pull/473) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update github/codeql-action action to v2 [\#472](https://github.com/tj-actions/changed-files/pull/472) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update reviewdog/action-shellcheck action to v1.15 [\#471](https://github.com/tj-actions/changed-files/pull/471) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update actions/checkout action to v3.0.2 [\#470](https://github.com/tj-actions/changed-files/pull/470) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update actions/checkout action to v3.0.1 [\#465](https://github.com/tj-actions/changed-files/pull/465) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update tj-actions/glob action to v7.16 [\#464](https://github.com/tj-actions/changed-files/pull/464) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update peter-evans/create-pull-request action to v4.0.2 [\#463](https://github.com/tj-actions/changed-files/pull/463) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v18.7 [\#462](https://github.com/tj-actions/changed-files/pull/462) ([jackton1](https://github.com/jackton1))
## [v18.7](https://github.com/tj-actions/changed-files/tree/v18.7) (2022-04-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v18.6...v18.7)
**Fixed bugs:**
- \[BUG\] Modified files treated as `Non Matching modified files` [\#450](https://github.com/tj-actions/changed-files/issues/450)
**Merged pull requests:**
- chore\(deps\): update peter-evans/create-pull-request action to v4.0.1 [\#461](https://github.com/tj-actions/changed-files/pull/461) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v18.6 [\#460](https://github.com/tj-actions/changed-files/pull/460) ([jackton1](https://github.com/jackton1))
## [v18.6](https://github.com/tj-actions/changed-files/tree/v18.6) (2022-03-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v18.5...v18.6)
**Fixed bugs:**
- \[BUG\] Intermittent "Unable to locate the current sha" [\#458](https://github.com/tj-actions/changed-files/issues/458)
**Merged pull requests:**
- fix: resolved error with escaping unicode unsafe characters [\#459](https://github.com/tj-actions/changed-files/pull/459) ([jackton1](https://github.com/jackton1))
- chore: remove unused code [\#457](https://github.com/tj-actions/changed-files/pull/457) ([jackton1](https://github.com/jackton1))
- chore: test changes to .github workflows files [\#456](https://github.com/tj-actions/changed-files/pull/456) ([jackton1](https://github.com/jackton1))
- chore: test filenames that should be escaped [\#455](https://github.com/tj-actions/changed-files/pull/455) ([jackton1](https://github.com/jackton1))
- Upgraded to v18.5 [\#454](https://github.com/tj-actions/changed-files/pull/454) ([jackton1](https://github.com/jackton1))
## [v18.5](https://github.com/tj-actions/changed-files/tree/v18.5) (2022-03-29)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v18.4...v18.5)
**Implemented enhancements:**
- \[Feature\] Get changes from all commits from a single push [\#447](https://github.com/tj-actions/changed-files/issues/447)
**Fixed bugs:**
- \[BUG\] Not able to compare current commit with the specific commit of a branch\(in the Pull request event\) [\#441](https://github.com/tj-actions/changed-files/issues/441)
**Merged pull requests:**
- fix: bug passing invalid patterns to grep [\#453](https://github.com/tj-actions/changed-files/pull/453) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/glob action to v7.12 [\#451](https://github.com/tj-actions/changed-files/pull/451) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update pascalgn/automerge-action action to v0.15.2 [\#449](https://github.com/tj-actions/changed-files/pull/449) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update pascalgn/automerge-action action to v0.14.4 [\#448](https://github.com/tj-actions/changed-files/pull/448) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update peter-evans/create-pull-request action to v4 [\#446](https://github.com/tj-actions/changed-files/pull/446) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update tj-actions/glob action to v7.11 [\#445](https://github.com/tj-actions/changed-files/pull/445) ([renovate[bot]](https://github.com/apps/renovate))
- Updated README.md [\#444](https://github.com/tj-actions/changed-files/pull/444) ([jackton1](https://github.com/jackton1))
- Upgraded to v18.4 [\#443](https://github.com/tj-actions/changed-files/pull/443) ([jackton1](https://github.com/jackton1))
## [v18.4](https://github.com/tj-actions/changed-files/tree/v18.4) (2022-03-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v18.3...v18.4)
**Merged pull requests:**
- Bump tj-actions/remark from 2.3 to 3 [\#442](https://github.com/tj-actions/changed-files/pull/442) ([dependabot[bot]](https://github.com/apps/dependabot))
- chore\(deps\): update tj-actions/glob action to v7.10 [\#440](https://github.com/tj-actions/changed-files/pull/440) ([renovate[bot]](https://github.com/apps/renovate))
- Update README.md [\#439](https://github.com/tj-actions/changed-files/pull/439) ([jackton1](https://github.com/jackton1))
@@ -165,10 +275,6 @@
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.0.1...v15.1)
**Implemented enhancements:**
- \[Feature\] Support using the fork point to detect file changes. [\#355](https://github.com/tj-actions/changed-files/issues/355)
**Merged pull requests:**
- Updated README.md [\#385](https://github.com/tj-actions/changed-files/pull/385) ([jackton1](https://github.com/jackton1))
@@ -843,7 +949,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:**

View File

@@ -44,7 +44,7 @@ Retrieve all changed files relative to the target branch (`pull_request*` based
> * **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.
> * For monorepos where pulling all the branch history might not be desired, you can omit `fetch-depth` for `pull_request` events.
> * For files located in a sub-directory ensure that the pattern specified contains `**/` (globstar) to match any preceding directories or explicitly pass the full path relative to the project root. See: [#314](https://github.com/tj-actions/changed-files/issues/314)
> * For files located in a sub-directory ensure that the pattern specified contains `**/` (globstar) to match any preceding directories or explicitly pass the full path relative to the project root. See: [#314](https://github.com/tj-actions/changed-files/issues/314).
```yaml
name: CI
@@ -62,13 +62,13 @@ jobs:
runs-on: ubuntu-latest # windows-latest | macos-latest
name: Test changed-files
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
- name: List all changed files
run: |
@@ -100,35 +100,38 @@ Support this project with a :star:
| U | Unmerged |
| X | Unknown |
| 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 has changed. (ACMR) |
| 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)* |
| any\_modified | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has been modified. <br /> i.e. *using a combination of all added, <br />copied, modified, renamed, and deleted files (ACMRD)* |
| only\_modified | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input has been modified. (ACMRD) |
| other\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all other modified files <br/> not listed in the files input <br /> i.e. *a combination of all added, <br /> copied, modified, and deleted files (ACMRD)* |
| any\_deleted | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has been deleted. (D) |
| only\_deleted | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input has been deleted. (D) |
| other\_deleted\_files | `string` | `'new.txt path/to/file.png ...'` | Select all other deleted files <br/> not listed in the files input <br /> i.e. *a combination of all deleted files (D)* |
| all\_changed\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed files <br /> i.e. *a combination of all added, <br />copied, modified and renamed files (ACMR)* |
| all\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed files <br /> i.e. *a combination of all added, <br />copied, modified, renamed and deleted files (ACMRD)* |
| all\_changed\_and\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed <br /> and modified 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) |
| 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 has changed. (ACMR) |
| 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)* |
| any\_modified | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has been modified. <br /> i.e. *using a combination of all added, <br />copied, modified, renamed, and deleted files (ACMRD)* |
| only\_modified | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input has been modified. (ACMRD) |
| other\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all other modified files <br/> not listed in the files input <br /> i.e. *a combination of all added, <br /> copied, modified, and deleted files (ACMRD)* |
| any\_deleted | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has been deleted. (D) |
| only\_deleted | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input has been deleted. (D) |
| other\_deleted\_files | `string` | `'new.txt path/to/file.png ...'` | Select all other deleted files <br/> not listed in the files input <br /> i.e. *a combination of all deleted files (D)* |
| all\_changed\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed files <br /> i.e. *a combination of all added, <br />copied, modified and renamed files (ACMR)* |
| all\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed files <br /> i.e. *a combination of all added, <br />copied, modified, renamed and deleted files (ACMRD)* |
| all\_changed\_and\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed <br /> and modified 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) |
| all\_old\_new\_renamed\_files | `string` | `'old name.txt,new name.txt old name 2.txt,new name 2.txt...'` | Select only files that are Renamed and list their old and new names (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 |
| separator | `string` | `false` | `' '` | Split character for output strings |
| old\_new\_separator | `string` | `false` | `','` | Split character for old and new filename pairs |
| old\_new\_files\_separator | `string` | `false` | `' '` | Split character for multiple old and new filename pairs |
| files | `string` OR `string[]` | `false` | | Check for changes <br> using only these <br> list of file(s) <br> (Defaults to the <br> entire repo) |
| files\_separator | string | `false` | `'\n'` | Separator used to split the<br>`files` input |
| files\_from\_source\_file | `string` | `false` | | Source file(s) <br> used to populate <br> the `files` input |
@@ -138,26 +141,27 @@ Support this project with a :star:
| sha | `string` | `true` | `${{ github.sha }}` | Specify a different <br> commit SHA <br> used for <br> comparing changes |
| base\_sha | `string` | `false` | | Specify a different <br> base commit SHA <br> used for <br> comparing changes |
| path | `string` | `false` | | Relative path under <br> `GITHUB_WORKSPACE` <br> to the repository |
| since\_last\_remote\_commit | `string` | `false` | `false` | Use the last commit on the remote <br> branch as the `base_sha` <br> (Defaults to the last commit <br> on the target branch for Pull requests <br> or the previous commit <br> on the current branch <br> for push events). <br /> NOTE: This requires <br /> `fetch-depth: 0` <br /> with `actions/checkout@v2` |
| use\_fork\_point | `string` | `false` | `false` | Finds best common ancestor <br /> between two commits <br /> to use in a three-way merge <br /> as the `base_sha` <br /> See: [git merge-base](https://git-scm.com/docs/git-merge-base#Documentation/git-merge-base.txt---fork-point). <br> NOTE: This pulls the entire commit history of the base branch |
| since\_last\_remote\_commit | `string` | `false` | `false` | Use the last commit on the remote <br> branch as the `base_sha` <br> (Defaults to the last commit <br> on the target branch for Pull requests <br> or the previous commit <br> on the current branch <br> for push events). <br /> NOTE: This requires <br /> `fetch-depth: 0` <br /> with `actions/checkout@v2` |
| use\_fork\_point | `string` | `false` | `false` | Finds best common ancestor <br /> between two commits <br /> to use in a three-way merge <br /> as the `base_sha` <br /> See: [git merge-base](https://git-scm.com/docs/git-merge-base#Documentation/git-merge-base.txt---fork-point). <br> NOTE: This pulls the entire commit history of the base branch |
| quotepath | `string` | `false` | `true` | Output filenames completely verbatim by setting this to `false` |
## Example
```yaml
...
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
# with:
# fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
# submodules: true # OR "recursive" -> To include all changed submodule files.
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
with:
separator: ","
@@ -179,7 +183,7 @@ Support this project with a :star:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
with:
files: |
my-file.txt
@@ -220,14 +224,14 @@ Support this project with a :star:
- 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@v18.4
uses: tj-actions/changed-files@v19.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@v18.4
uses: tj-actions/changed-files@v19.2
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -236,13 +240,13 @@ Support this project with a :star:
- name: Use a different commit SHA
id: changed-files-custom-sha
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.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@v18.4
uses: tj-actions/changed-files@v19.2
with:
base_sha: "2096ed0"
@@ -254,7 +258,7 @@ Support this project with a :star:
- name: Run changed-files with defaults on the dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
with:
path: dir1
@@ -266,15 +270,21 @@ Support this project with a :star:
- name: Run changed-files using the last commit on the remote branch
id: changed-files-since-last-remote-commit
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
with:
since_last_remote_commit: "true"
- name: Run changed-files using the fork point of a pull request
id: changed-files-fork-point
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
with:
use_fork_point: "true"
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: tj-actions/changed-files@v19.2
with:
quotepath: "false"
```
@@ -288,7 +298,7 @@ Support this project with a :star:
>
> * Using characters like `\n`, `%` and `\r` as separators would be [URL encoded](https://www.w3schools.com/tags/ref_urlencode.asp)
> * Spaces in file names can introduce bugs when using bash loops. See: [#216](https://github.com/tj-actions/changed-files/issues/216)
> * However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
> However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
> ![Screen Shot 2021-10-23 at 9 37 34 AM](https://user-images.githubusercontent.com/17484350/138558767-b13c90bf-a1ae-4e86-9520-70a6a4624f41.png)
## Versioning
@@ -326,7 +336,7 @@ With the switch from using grep's Extended regex to match files to the natively
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v18.4
uses: tj-actions/changed-files@v19.2
with:
files: |
*.sh

View File

@@ -1,15 +1,23 @@
name: Changed files
description: Get all changed files for push and pull request events.
name: Changed Files
description: Get all Added, Copied, Modified, Deleted, Renamed, Type changed, Unmerged, Unknown files.
author: tj-actions
inputs:
token:
description: 'Github token'
required: true
required: false
default: ${{ github.token }}
separator:
description: 'Split character for array output'
required: true
description: 'Split character for output strings'
required: false
default: " "
old_new_separator:
description: 'Split character for old and new filename pairs'
required: false
default: ","
old_new_files_separator:
description: 'Split character for multiple old and new filename pairs'
required: false
default: " "
files_from_source_file:
description: 'Source file(s) to populate the files input'
@@ -53,6 +61,10 @@ inputs:
description: 'Finds best common ancestor between two commits to use in a three-way merge as the base_sha'
default: 'false'
required: false
quotepath:
description: 'Output filenames completely verbatim by setting this to false'
default: 'true'
required: false
outputs:
added_files:
@@ -70,6 +82,9 @@ outputs:
renamed_files:
description: List of renamed files.
value: ${{ steps.changed-files.outputs.renamed_files }}
all_old_new_renamed_files:
description: List of all old and new names of renamed files.
value: ${{ steps.changed-files.outputs.all_old_new_renamed_files }}
type_changed_files:
description: List of files that had type changes.
value: ${{ steps.changed-files.outputs.type_changed_files }}
@@ -147,7 +162,7 @@ runs:
INPUT_PATH: ${{ inputs.path }}
INPUT_USE_FORK_POINT: ${{ inputs.use_fork_point }}
- name: Glob match
uses: tj-actions/glob@v7.14
uses: tj-actions/glob@v7.20
id: glob
with:
files: ${{ inputs.files }}
@@ -177,6 +192,9 @@ runs:
INPUT_CURRENT_SHA: ${{ steps.changed-files-diff-sha.outputs.current_sha }}
INPUT_TARGET_BRANCH: ${{ steps.changed-files-diff-sha.outputs.target_branch }}
INPUT_CURRENT_BRANCH: ${{ steps.changed-files-diff-sha.outputs.current_branch }}
INPUT_QUOTEPATH: ${{ inputs.quotepath }}
INPUT_OLD_NEW_SEPARATOR: ${{ inputs.old_new_separator }}
INPUT_OLD_NEW_FILES_SEPARATOR: ${{ inputs.old_new_files_separator }}
branding:
icon: file-text

View File

@@ -57,7 +57,7 @@ if [[ -z $GITHUB_BASE_REF ]]; then
if [[ $(git rev-list --count HEAD) -gt 1 ]]; then
PREVIOUS_SHA=$(git rev-list --no-merges -n 1 HEAD^1 2>&1) && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$CURRENT_SHA
PREVIOUS_SHA=$CURRENT_SHA && exit_status=$? || exit_status=$?
echo "Initial commit detected"
fi
else

View File

@@ -6,6 +6,12 @@ INPUT_SEPARATOR="${INPUT_SEPARATOR//'%'/'%25'}"
INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\n'/'%0A'}"
INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\r'/'%0D'}"
if [[ $INPUT_QUOTEPATH == "false" ]]; then
git config --global core.quotepath off
else
git config --global core.quotepath on
fi
function get_diff() {
base="$1"
sha="$2"
@@ -25,6 +31,24 @@ function get_diff() {
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base" "$sha"
}
function get_renames() {
base="$1"
sha="$2"
while IFS='' read -r sub; do
sub_commit_pre="$(git diff "$base" "$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')"
sub_commit_cur="$(git diff "$base" "$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')"
if [ -n "$sub_commit_cur" ]; then
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_renames "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | awk -v r="$sub" '{ print "" r "/" $0}'
)
)
fi
done < <(git submodule | awk '{print $2}')
git log --name-status --ignore-submodules=all "$base".."$sha" | grep -E "^R" | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}'
}
echo "::group::changed-files"
echo "Resolving repository path..."
@@ -54,6 +78,7 @@ if [[ -z "$INPUT_FILES_PATTERN_FILE" ]]; then
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_OLD_NEW_RENAMED_FILES=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
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}')
@@ -66,6 +91,7 @@ else
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}')
ALL_OLD_NEW_RENAMED_FILES=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -x -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_OTHER_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNIQUE_ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
@@ -76,7 +102,7 @@ else
else
echo "::set-output name=any_changed::false"
fi
OTHER_CHANGED=""
if [[ -n $ALL_OTHER_CHANGED ]]; then
@@ -106,7 +132,7 @@ else
else
echo "::set-output name=any_modified::false"
fi
OTHER_MODIFIED=""
if [[ -n $ALL_OTHER_MODIFIED ]]; then
@@ -136,7 +162,7 @@ else
else
echo "::set-output name=any_deleted::false"
fi
OTHER_DELETED=""
if [[ -n $ALL_OTHER_DELETED ]]; then
@@ -183,6 +209,7 @@ echo "Unknown files: $UNKNOWN"
echo "All changed and modified files: $ALL_CHANGED_AND_MODIFIED"
echo "All changed files: $ALL_CHANGED"
echo "All modified files: $ALL_MODIFIED"
echo "All old & new renamed files: $ALL_OLD_NEW_RENAMED_FILES"
echo "::set-output name=added_files::$ADDED"
echo "::set-output name=copied_files::$COPIED"
@@ -195,5 +222,6 @@ echo "::set-output name=unknown_files::$UNKNOWN"
echo "::set-output name=all_changed_and_modified_files::$ALL_CHANGED_AND_MODIFIED"
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
echo "::set-output name=all_old_new_renamed_files::$ALL_OLD_NEW_RENAMED_FILES"
echo "::endgroup::"

1
test/[test new].txt Normal file
View File

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

View File

@@ -4,3 +4,4 @@ action.yml
action.yml
**/test.txt
!test/test/test.txt
[test new].txt

1
test/test rename 1.txt Normal file
View File

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

1
test/test rename 2.txt Normal file
View File

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

1
test/test-è.txt Normal file
View File

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