Compare commits

...

89 Commits
v19.1 ... v21

Author SHA1 Message Date
Tonye Jack
0edfedf16d fix: large output generated by all_old_new_renamed_files output (#502) 2022-05-25 17:47:58 -04:00
Tonye Jack
42d4eb324d Upgraded from v20.1 -> v20.2 (#499)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-05-24 00:16:24 -04:00
Tonye Jack
205450238e Update entrypoint.sh 2022-05-24 00:14:06 -04:00
Tonye Jack
c3c25d12b0 fix: matching renamed files with glob patterns (#498)
* fix: matching rename files with glob patterns

* Rename test rename 1.txt to test rename-1.txt

* Update entrypoint.sh

* Update entrypoint.sh

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update entrypoint.sh

* Rename test rename-1.txt to test rename 1.txt

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-24 00:12:32 -04:00
Tonye Jack
b77c43beb0 chore: Improve test coverage (#497) 2022-05-22 23:57:41 -04:00
Tonye Jack
8373ec9091 Upgraded from v20 -> v20.1 (#496)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-05-22 13:13:56 -04:00
Tonye Jack
944a8b8909 chore: test rename (#495)
* chore: test rename

* Update entrypoint.sh

* Update entrypoint.sh

* Create manual-test.yml
2022-05-22 01:20:50 -04:00
Tonye Jack
a78216810d Merge pull request #494 from tj-actions/chore/update-readme 2022-05-19 08:06:35 -04:00
Tonye Jack
69a29db2d7 Update README.md 2022-05-19 08:03:53 -04:00
Tonye Jack
e4fdf56472 Update README.md 2022-05-14 23:26:15 -04:00
Tonye Jack
582ce2283c Merge pull request #491 from tj-actions/upgrade-to-v20 2022-05-14 21:51:04 -04:00
jackton1
43886cd0c3 Upgraded from v19.3 -> v20 2022-05-15 01:50:10 +00:00
Tonye Jack
581eef0495 Merge pull request #490 from tj-actions/fix/usage-of-fork-point 2022-05-14 21:43:30 -04:00
Tonye Jack
9e1cda0fb7 Fixed the test 2022-05-14 21:29:27 -04:00
Tonye Jack
20b6ac540d fix: bug finding fork point commit and removed unused temp_changed_files remote. 2022-05-14 21:19:45 -04:00
Tonye Jack
f0da059036 Merge pull request #489 from tj-actions/upgrade-to-v19.3 2022-05-14 19:32:11 -04:00
jackton1
0e1a7180e5 Upgraded from v19.2 -> v19.3 2022-05-14 23:29:53 +00:00
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
9 changed files with 291 additions and 89 deletions

51
.github/workflows/manual-test.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: Manual Test
on:
workflow_dispatch:
jobs:
test:
name: Test changed-files
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Run changed-files with defaults
id: changed-files
uses: ./
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files.outputs) }}'
- name: Run changed-files with glob filtering
id: changed-files-glob
uses: ./
with:
files: |
test/*.txt
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-glob.outputs) }}'
- name: Run changed-files with glob filtering and all_old_new_renamed_files
id: changed-files-glob-all-old-new-renamed-files
uses: ./
with:
include_all_old_new_renamed_files: true
files: |
test/*.txt
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-glob-all-old-new-renamed-files.outputs) }}'

View File

@@ -4,6 +4,7 @@ on:
push:
branches:
- main
- "**"
pull_request:
branches:
- main
@@ -18,7 +19,7 @@ jobs:
uses: actions/checkout@v3
- name: shellcheck
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 }}
@@ -140,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: ./
@@ -180,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: ./
@@ -293,6 +294,44 @@ 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
include_all_old_new_renamed_files: true
- 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
include_all_old_new_renamed_files: true
- 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: ./

View File

@@ -1,13 +1,91 @@
# Changelog
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
## [v20.2](https://github.com/tj-actions/changed-files/tree/v20.2) (2022-05-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v19...HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v20.1...v20.2)
**Fixed bugs:**
- \[BUG\] old\_new\_renamed\_files is empty when providing a glob pattern. [\#467](https://github.com/tj-actions/changed-files/issues/467)
**Merged pull requests:**
- fix: matching renamed files with glob patterns [\#498](https://github.com/tj-actions/changed-files/pull/498) ([jackton1](https://github.com/jackton1))
- chore: Improve test coverage [\#497](https://github.com/tj-actions/changed-files/pull/497) ([jackton1](https://github.com/jackton1))
- Upgraded to v20.1 [\#496](https://github.com/tj-actions/changed-files/pull/496) ([jackton1](https://github.com/jackton1))
## [v20.1](https://github.com/tj-actions/changed-files/tree/v20.1) (2022-05-22)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v20...v20.1)
**Implemented enhancements:**
- \[Feature\] Rename `files` -\> `paths` [\#125](https://github.com/tj-actions/changed-files/issues/125)
**Fixed bugs:**
- \[BUG\] Glob pattern doesn't work for markdown files [\#492](https://github.com/tj-actions/changed-files/issues/492)
- \[BUG\] Using the fork point to detect file changes. [\#355](https://github.com/tj-actions/changed-files/issues/355)
**Merged pull requests:**
- chore: test rename [\#495](https://github.com/tj-actions/changed-files/pull/495) ([jackton1](https://github.com/jackton1))
- chore: Update README.md [\#494](https://github.com/tj-actions/changed-files/pull/494) ([jackton1](https://github.com/jackton1))
- Upgraded to v20 [\#491](https://github.com/tj-actions/changed-files/pull/491) ([jackton1](https://github.com/jackton1))
## [v20](https://github.com/tj-actions/changed-files/tree/v20) (2022-05-15)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v19.3...v20)
**Merged pull requests:**
- fix: bug finding fork point commit and removed unused temp\_changed\_files remote. [\#490](https://github.com/tj-actions/changed-files/pull/490) ([jackton1](https://github.com/jackton1))
- Upgraded to v19.3 [\#489](https://github.com/tj-actions/changed-files/pull/489) ([jackton1](https://github.com/jackton1))
## [v19.3](https://github.com/tj-actions/changed-files/tree/v19.3) (2022-05-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v19.2...v19.3)
**Merged pull requests:**
- fix: bug with renames [\#488](https://github.com/tj-actions/changed-files/pull/488) ([jackton1](https://github.com/jackton1))
- Upgraded to v19.2 [\#487](https://github.com/tj-actions/changed-files/pull/487) ([jackton1](https://github.com/jackton1))
## [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/v19.1...v19.2)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**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)
@@ -19,7 +97,6 @@
**Closed issues:**
- Not listing renamed file with previous path in deleted\_files list [\#466](https://github.com/tj-actions/changed-files/issues/466)
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
@@ -420,7 +497,7 @@
## [v13](https://github.com/tj-actions/changed-files/tree/v13) (2022-02-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.2...v13)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v2.0.1...v13)
**Implemented enhancements:**
@@ -439,13 +516,13 @@
- \[BUG\] wrong result of any\_change output [\#314](https://github.com/tj-actions/changed-files/issues/314)
- \[BUG\] Investigate possible bug using since\_last\_remote\_commit when force pushing changes. [\#303](https://github.com/tj-actions/changed-files/issues/303)
## [v12.2](https://github.com/tj-actions/changed-files/tree/v12.2) (2021-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v2.0.1...v12.2)
## [v2.0.1](https://github.com/tj-actions/changed-files/tree/v2.0.1) (2021-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.1...v2.0.1)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.2...v2.0.1)
## [v12.2](https://github.com/tj-actions/changed-files/tree/v12.2) (2021-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.1...v12.2)
**Merged pull requests:**

View File

@@ -22,18 +22,17 @@ Retrieve all changed files relative to the target branch (`pull_request*` based
* Boolean output indicating that certain files have been changed.
* Scales to large repositories.
* Git submodules support.
* Multiple repositories support.
* Monorepos (Fetches only the last remote commit).
* Supports all platforms (Linux, MacOS, Windows).
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support
* [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@3.3/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server) support.
* [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) support.
* Monorepos (Fetches only the last remote commit).
* Supports all platforms (Linux, MacOS, Windows).
* List all files that have changed.
* List all files that have changed:
* Between the current pull request branch and the last commit on the target branch.
* Between the current pull request branch and the fork point on the target branch.
* Between the last commit and the current pushed change.
* Between the last remote branch commit and the current HEAD.
* Restrict change detection to a subset of files.
* Restrict change detection to a subset of files:
* Report on files that have at least one change.
* Using [Glob pattern](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) matching.
@@ -44,7 +43,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
@@ -68,7 +67,7 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v19
uses: tj-actions/changed-files@v20.2
- name: List all changed files
run: |
@@ -100,35 +99,39 @@ 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)* |
| 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) |
| added\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Added (A) |
| copied\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Copied (C) |
| deleted\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Deleted (D) |
| modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Modified (M) |
| renamed\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Renamed (R) |
| type\_changed\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that have their file type changed (T) |
| unmerged\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unmerged (U) |
| unknown\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unknown (X) |
## Inputs
| Input | type | required | default | description |
|:---------------------------------:|:----------------------:|:--------:|:---------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| token | `string` | `false` | `${{ github.token }}` | [GITHUB\_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
| separator | `string` | `true` | `' '` | Output string separator |
| separator | `string` | `false` | `' '` | Split character for output strings |
| include\_all\_old\_new\_renamed\_files | `boolean` | `false` | `false` | Include `all_old_new_renamed_files` output. Note this can generate a large debug output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| 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,9 +141,9 @@ 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 |
| quotepath | `string` | `false` | `true` | Output filenames completely verbatim by setting this to `false` |
| since\_last\_remote\_commit | `boolean` | `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 | `boolean` | `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 | `boolean` | `false` | `true` | Output filenames completely verbatim by setting this to `false` |
## Example
@@ -154,11 +157,11 @@ Support this project with a :star:
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v19
uses: tj-actions/changed-files@v20.2
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v19
uses: tj-actions/changed-files@v20.2
with:
separator: ","
@@ -180,7 +183,7 @@ Support this project with a :star:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v19
uses: tj-actions/changed-files@v20.2
with:
files: |
my-file.txt
@@ -221,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@v19
uses: tj-actions/changed-files@v20.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@v19
uses: tj-actions/changed-files@v20.2
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -237,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@v19
uses: tj-actions/changed-files@v20.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@v19
uses: tj-actions/changed-files@v20.2
with:
base_sha: "2096ed0"
@@ -255,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@v19
uses: tj-actions/changed-files@v20.2
with:
path: dir1
@@ -267,19 +270,19 @@ 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@v19
uses: tj-actions/changed-files@v20.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@v19
uses: tj-actions/changed-files@v20.2
with:
use_fork_point: "true"
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: tj-actions/changed-files@v19
uses: tj-actions/changed-files@v20.2
with:
quotepath: "false"
@@ -333,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@v19
uses: tj-actions/changed-files@v20.2
with:
files: |
*.sh

View File

@@ -5,11 +5,23 @@ 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: " "
include_all_old_new_renamed_files:
description: 'Include all_old_new_renamed_files output. Note this can generate a large debug output See: #501.'
required: false
default: false
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'
@@ -74,6 +86,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 }}
@@ -182,6 +197,9 @@ runs:
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_INCLUDE_ALL_OLD_NEW_RENAMED_FILES: ${{ inputs.include_all_old_new_renamed_files }}
INPUT_OLD_NEW_SEPARATOR: ${{ inputs.old_new_separator }}
INPUT_OLD_NEW_FILES_SEPARATOR: ${{ inputs.old_new_files_separator }}
branding:
icon: file-text

View File

@@ -15,21 +15,6 @@ if [[ -n $INPUT_PATH ]]; then
cd "$REPO_DIR"
fi
SERVER_URL=$(echo "$GITHUB_SERVER_URL" | awk -F/ '{print $3}')
echo "Setting up 'temp_changed_files' remote..."
git ls-remote --exit-code temp_changed_files 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "No 'temp_changed_files' remote found"
echo "Creating 'temp_changed_files' remote..."
git remote remove temp_changed_files 2>/dev/null || true
git remote add temp_changed_files "https://${INPUT_TOKEN}@${SERVER_URL}/${GITHUB_REPOSITORY}"
else
echo "Found 'temp_changed_files' remote"
fi
echo "Getting HEAD SHA..."
if [[ -z $INPUT_SHA ]]; then
@@ -43,7 +28,6 @@ git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to locate the current sha: $CURRENT_SHA"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
git remote remove temp_changed_files
exit 1
fi
@@ -52,12 +36,13 @@ if [[ -z $GITHUB_BASE_REF ]]; then
CURRENT_BRANCH=$TARGET_BRANCH
if [[ -z $INPUT_BASE_SHA ]]; then
git fetch --no-tags -u --progress --depth=2 temp_changed_files "${CURRENT_BRANCH}":"${CURRENT_BRANCH}" && exit_status=$? || exit_status=$?
git fetch --no-tags -u --progress --depth=2 origin "${CURRENT_BRANCH}":"${CURRENT_BRANCH}" &&
exit_status=$? || exit_status=$?
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
@@ -70,7 +55,6 @@ if [[ -z $GITHUB_BASE_REF ]]; then
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
git remote remove temp_changed_files
exit 1
fi
else
@@ -80,14 +64,14 @@ else
if [[ -z $INPUT_BASE_SHA ]]; then
if [[ "$INPUT_USE_FORK_POINT" == "true" ]]; then
echo "Getting fork point..."
git fetch --no-tags -u --progress temp_changed_files "${TARGET_BRANCH}":"${TARGET_BRANCH}" && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git merge-base --fork-point "temp_changed_files/${TARGET_BRANCH}") && exit_status=$? || exit_status=$?
git fetch --no-tags -u --progress origin "${TARGET_BRANCH}":"${TARGET_BRANCH}" && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git merge-base --fork-point "${TARGET_BRANCH}" "$(git name-rev --name-only "$CURRENT_SHA")") && exit_status=$? || exit_status=$?
else
git fetch --no-tags -u --progress --depth=1 temp_changed_files "${TARGET_BRANCH}":"${TARGET_BRANCH}" && exit_status=$? || exit_status=$?
git fetch --no-tags -u --progress origin --depth=1 "${TARGET_BRANCH}":"${TARGET_BRANCH}" && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git rev-list --no-merges -n 1 "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
fi
else
git fetch --no-tags -u --progress --depth=1 temp_changed_files "$INPUT_BASE_SHA" && exit_status=$? || exit_status=$?
git fetch --no-tags -u --progress origin --depth=1 "$INPUT_BASE_SHA" && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$INPUT_BASE_SHA
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
fi
@@ -98,7 +82,6 @@ else
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
git remote remove temp_changed_files
exit 1
fi
fi

View File

@@ -31,6 +31,25 @@ 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..."
@@ -60,6 +79,9 @@ 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}')
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
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}')
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}')
@@ -72,6 +94,9 @@ 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}')
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
ALL_OLD_NEW_RENAMED_FILES=$(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}')
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}')
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}')
@@ -82,7 +107,7 @@ else
else
echo "::set-output name=any_changed::false"
fi
OTHER_CHANGED=""
if [[ -n $ALL_OTHER_CHANGED ]]; then
@@ -112,7 +137,7 @@ else
else
echo "::set-output name=any_modified::false"
fi
OTHER_MODIFIED=""
if [[ -n $ALL_OTHER_MODIFIED ]]; then
@@ -142,7 +167,7 @@ else
else
echo "::set-output name=any_deleted::false"
fi
OTHER_DELETED=""
if [[ -n $ALL_OTHER_DELETED ]]; then
@@ -176,8 +201,6 @@ else
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
git remote remove temp_changed_files
echo "Added files: $ADDED"
echo "Copied files: $COPIED"
echo "Deleted files: $DELETED"
@@ -189,6 +212,9 @@ 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"
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
echo "All old & new renamed files: $ALL_OLD_NEW_RENAMED_FILES"
fi
echo "::set-output name=added_files::$ADDED"
echo "::set-output name=copied_files::$COPIED"
@@ -201,5 +227,8 @@ 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"
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
echo "::set-output name=all_old_new_renamed_files::$ALL_OLD_NEW_RENAMED_FILES"
fi
echo "::endgroup::"

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.