Compare commits

...

75 Commits

Author SHA1 Message Date
GitHub Action
408093d9ff Added missing changes and modified dist assets. 2023-10-11 13:03:43 +00:00
renovate[bot]
a8fcc78511 chore(deps): lock file maintenance 2023-10-11 13:03:43 +00:00
Tonye Jack
49e754c81d Update README.md 2023-10-11 06:41:57 -06:00
renovate[bot]
3b9406ef82 chore(deps): update dependency eslint-plugin-prettier to v5.0.1 2023-10-11 04:57:59 +00:00
renovate[bot]
1d9d8f4a76 fix(deps): update dependency @actions/github to v6 (#1636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2023-10-10 17:58:18 +00:00
renovate[bot]
6777efe3ca chore(deps): update nrwl/nx-set-shas action to v4 (#1635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-10-09 15:18:59 -06:00
renovate[bot]
2b4a057e15 chore(deps): update typescript-eslint monorepo to v6.7.5 2023-10-09 20:46:12 +00:00
renovate[bot]
1e88b750d4 chore(deps): update dependency @types/node to v20.8.4 2023-10-09 20:17:55 +00:00
tj-actions[bot]
57421690e0 Updated README.md (#1632)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-07 18:00:52 +00:00
Tonye Jack
1c14cc7ff3 Update README.md 2023-10-07 11:49:50 -06:00
renovate[bot]
54864d4c3b chore(deps): update dependency @types/node to v20.8.3 2023-10-07 01:31:51 +00:00
renovate[bot]
8f6e85fcdf chore(deps): update dependency eslint to v8.51.0 2023-10-06 21:42:42 +00:00
Tonye Jack
6cd5b66101 Update README.md 2023-10-03 19:17:20 -06:00
tj-actions[bot]
3729bf289f Upgraded to v39.2.1 (#1628)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-03 00:59:26 +00:00
Tonye Jack
db153baf73 chore: clean up test (#1627) 2023-10-03 00:09:57 +00:00
Tonye Jack
344b35fc53 Update issue-comment-test.yml 2023-10-02 17:51:35 -06:00
Tonye Jack
f318653745 chore: update issue-comment-test.yml 2023-10-02 17:48:31 -06:00
Tonye Jack
3415b43780 fix: incorrect branch name for issue_comment event (#1625)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-10-02 23:35:05 +00:00
renovate[bot]
15f38d6693 chore(deps): update dependency @types/node to v20.8.2 2023-10-02 22:25:06 +00:00
Tonye Jack
2160c8e998 chore: create issue-comment-test.yml (#1624) 2023-10-02 14:09:29 -06:00
renovate[bot]
39084f937a chore(deps): update typescript-eslint monorepo to v6.7.4 2023-10-02 19:40:25 +00:00
renovate[bot]
22a6a7dedc chore(deps): update dependency @types/node to v20.8.0 2023-09-30 11:09:39 +00:00
renovate[bot]
8f93691a81 chore(deps): update dependency eslint-plugin-jest to v27.4.2 2023-09-29 23:02:16 +00:00
renovate[bot]
c5c7d8163f chore(deps): update dependency @types/node to v20.7.2 2023-09-29 17:37:16 +00:00
Tonye Jack
e061de58da Update README.md 2023-09-28 11:37:08 -06:00
renovate[bot]
6f90eecfe8 chore(deps): update dependency @types/node to v20.7.1 2023-09-27 23:16:15 +00:00
renovate[bot]
4daaa8171d chore(deps): update dependency @types/micromatch to v4.0.3 2023-09-27 10:33:51 +00:00
renovate[bot]
cbff9146e3 chore(deps): update dependency eslint-plugin-github to v4.10.1 2023-09-26 17:35:46 +00:00
Tonye Jack
2d7c10954b Update README.md 2023-09-26 09:53:45 -06:00
Tonye Jack
6e74c9dbbb Update README.md 2023-09-25 17:46:27 -06:00
renovate[bot]
44827f39da chore(deps): update dependency @types/node to v20.7.0 2023-09-25 23:36:24 +00:00
renovate[bot]
2ba385a5e1 fix(deps): update dependency @octokit/rest to v20.0.2 2023-09-25 23:16:43 +00:00
renovate[bot]
7d9358afc1 chore(deps): update typescript-eslint monorepo to v6.7.3 2023-09-25 20:17:10 +00:00
tj-actions[bot]
cf03855076 Updated README.md (#1612)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-09-25 05:51:24 +00:00
Tonye Jack
877b5ce98c Update README.md 2023-09-24 23:39:22 -06:00
Tonye Jack
428220b7f4 chore: updated list of unsupported inputs when using REST API (#1611)
Co-authored-by: GitHub Action <action@github.com>
2023-09-25 00:10:27 +00:00
renovate[bot]
914e0223cf chore(deps): update dependency @types/node to v20.6.5 2023-09-24 18:51:27 +00:00
renovate[bot]
b79cd45602 chore(deps): lock file maintenance 2023-09-24 04:58:10 +00:00
renovate[bot]
19107de46c chore(deps): update dependency @types/node to v20.6.4 2023-09-23 21:53:24 +00:00
renovate[bot]
29dd1b9c76 chore(deps): update dependency @types/lodash to v4.14.199 2023-09-23 00:24:01 +00:00
tj-actions[bot]
dac82b0e15 Updated README.md (#1606)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-09-23 00:06:26 +00:00
Tonye Jack
4595c4c56b Update README.md 2023-09-22 17:55:18 -06:00
renovate[bot]
39000e536b chore(deps): update dependency eslint to v8.50.0 2023-09-22 22:19:18 +00:00
tj-actions[bot]
181ee9b66b Upgraded to v39.2.0 (#1604)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-09-22 20:38:22 +00:00
renovate[bot]
9053f9ea11 chore(deps): lock file maintenance 2023-09-22 20:18:48 +00:00
tj-actions[bot]
8238a41032 Updated README.md (#1602)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-09-22 13:48:09 -06:00
Tonye Jack
aaf4339aa1 Merge pull request #1601 from tj-actions/feat/add-support-for-restricting-the-deleted-files-output-to-only-deleted-directories 2023-09-22 13:45:16 -06:00
Tonye Jack
d2486b470f Update test 2023-09-22 12:59:02 -06:00
Tonye Jack
e7fd9e59a4 Updated test 2023-09-22 12:52:27 -06:00
repo-ranger[bot]
e3cc088a96 Merge branch 'main' into feat/add-support-for-restricting-the-deleted-files-output-to-only-deleted-directories 2023-09-22 18:38:48 +00:00
renovate[bot]
72d7089b72 chore(deps): update actions/checkout digest to 8ade135 2023-09-22 18:36:50 +00:00
Tonye Jack
e94da5a065 Fixed test for windows 2023-09-22 12:25:28 -06:00
Tonye Jack
a721d001dd Fixed the test 2023-09-22 12:15:09 -06:00
GitHub Action
8af3110d4d Added missing changes and modified dist assets. 2023-09-22 17:07:10 +00:00
Tonye Jack
a351a301d2 Merge 62a23f82b1 into 0b947ed818 2023-09-22 17:05:50 +00:00
Tonye Jack
62a23f82b1 Updated debug message 2023-09-22 11:05:42 -06:00
Tonye Jack
ef42e5ad18 Update test 2023-09-22 10:36:41 -06:00
Tonye Jack
cd1e384723 Deleted the test3 directory 2023-09-22 10:23:52 -06:00
Tonye Jack
a52f8621d2 Deleted a single test file 2023-09-22 10:22:56 -06:00
Tonye Jack
920856cfdd Added a test files 2023-09-22 10:21:55 -06:00
Tonye Jack
08906b3254 Updated the test 2023-09-22 10:14:29 -06:00
Tonye Jack
cd35eace22 Updated description 2023-09-22 10:06:37 -06:00
GitHub Action
8296c33fd0 Added missing changes and modified dist assets. 2023-09-22 16:06:08 +00:00
Tonye Jack
0ad71b9855 Merge c98e6d20fc into 0b947ed818 2023-09-22 10:02:09 -06:00
Tonye Jack
c98e6d20fc Removed unused code 2023-09-22 10:01:57 -06:00
GitHub Action
2398551415 Added missing changes and modified dist assets. 2023-09-22 10:01:57 -06:00
Tonye Jack
060b3b9b03 Removed unused code 2023-09-22 10:01:57 -06:00
GitHub Action
ff65504325 Added missing changes and modified dist assets. 2023-09-22 10:01:57 -06:00
Tonye Jack
543c1a25c6 Updated use of deletedFilesPaths 2023-09-22 10:01:57 -06:00
Tonye Jack
1be42003d7 Updated action.yml 2023-09-22 10:01:57 -06:00
GitHub Action
2325baada3 Added missing changes and modified dist assets. 2023-09-22 10:01:57 -06:00
Tonye Jack
e6ce728d79 feat: add support for restricting the deleted files output to only deleted directories 2023-09-22 10:01:57 -06:00
Tonye Jack
0b947ed818 Update README.md 2023-09-22 07:31:05 -06:00
Tonye Jack
e8dbf6d670 Update README.md 2023-09-20 19:48:40 -06:00
tj-actions[bot]
41c232aad8 Upgraded to v39.1.2 (#1594)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-09-20 21:03:55 +00:00
22 changed files with 27119 additions and 6572 deletions

View File

@@ -29,7 +29,7 @@ jobs:
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout code
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI

View File

@@ -38,7 +38,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

174
.github/workflows/issue-comment-test.yml vendored Normal file
View File

@@ -0,0 +1,174 @@
name: Issue Comment Test
on:
issue_comment:
jobs:
pr_commented:
# This job only runs for pull request comments
name: PR comment
if: ${{ github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo A comment on PR $NUMBER
env:
NUMBER: ${{ github.event.issue.number }}
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Run changed-files with defaults
id: changed-files
uses: ./
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files.outputs) }}'
shell:
bash
- name: Run changed-files for old new filenames test rename
id: changed-files-all-old-new-renamed-files
uses: ./
with:
base_sha: d1c0ee4
sha: 4d04215
fetch_depth: 60000
include_all_old_new_renamed_files: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files.outputs) }}'
shell:
bash
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files.outputs) }}'
shell:
bash
- name: Check all_old_new_renamed_files output on non windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.all_old_new_renamed_files, 'test/test rename 1.txt,test/test rename-1.txt') && runner.os != 'Windows'"
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.outputs.all_old_new_renamed_files }})"
exit 1
shell:
bash
- name: Check all_old_new_renamed_files output on windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.all_old_new_renamed_files, 'test\\test rename 1.txt,test\\test rename-1.txt') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected to not include (test\\test rename 1.txt,test\\test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files.outputs.all_old_new_renamed_files }})"
exit 1
shell:
bash
- name: Check the renamed_files output on non windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.renamed_files, 'test/test rename-1.txt') && runner.os != 'Windows'"
run: |
echo "Invalid output: Expected to include (test/test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files.outputs.renamed_files }})"
exit 1
shell:
bash
- name: Check the renamed_files output on windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.renamed_files, 'test\\test rename-1.txt') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected to not include (test\\test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files.outputs.renamed_files }})"
exit 1
shell:
bash
issue_commented:
# This job only runs for issue comments
name: Issue comment
if: ${{ !github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo A comment on issue $NUMBER
env:
NUMBER: ${{ github.event.issue.number }}
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Run changed-files with defaults
id: changed-files
uses: ./
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files.outputs) }}'
shell:
bash
- name: Run changed-files for old new filenames test rename
id: changed-files-all-old-new-renamed-files
uses: ./
with:
base_sha: d1c0ee4
sha: 4d04215
fetch_depth: 60000
include_all_old_new_renamed_files: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files.outputs) }}'
shell:
bash
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files.outputs) }}'
shell:
bash
- name: Check all_old_new_renamed_files output on non windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.all_old_new_renamed_files, 'test/test rename 1.txt,test/test rename-1.txt') && runner.os != 'Windows'"
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.outputs.all_old_new_renamed_files }})"
exit 1
shell:
bash
- name: Check all_old_new_renamed_files output on windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.all_old_new_renamed_files, 'test\\test rename 1.txt,test\\test rename-1.txt') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected to not include (test\\test rename 1.txt,test\\test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files.outputs.all_old_new_renamed_files }})"
exit 1
shell:
bash
- name: Check the renamed_files output on non windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.renamed_files, 'test/test rename-1.txt') && runner.os != 'Windows'"
run: |
echo "Invalid output: Expected to include (test/test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files.outputs.renamed_files }})"
exit 1
shell:
bash
- name: Check the renamed_files output on windows platform
if: "!contains(steps.changed-files-all-old-new-renamed-files.outputs.renamed_files, 'test\\test rename-1.txt') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected to not include (test\\test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files.outputs.renamed_files }})"
exit 1
shell:
bash

View File

@@ -16,7 +16,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0

View File

@@ -14,7 +14,7 @@ jobs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
@@ -38,7 +38,7 @@ jobs:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Test
run: |
echo ${{ matrix.files }}

View File

@@ -8,7 +8,7 @@ jobs:
update-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run release-tagger

View File

@@ -811,7 +811,81 @@ jobs:
else
cat "deleted_files/test/test deleted.txt"
fi
test-dir-names-deleted-files-include-only-deleted-dirs-single-file:
name: Test dir names deleted files include only deleted dirs single file
runs-on: ubuntu-latest
needs: build
if: needs.build.outputs.files_changed != 'true'
steps:
- name: Checkout branch
uses: actions/checkout@v4
with:
ref: a52f8621d26d5d9f54b80f74bda2d9eedff94693
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
fetch-depth: 2
- name: Run changed-files with dir_names and dir_names_deleted_files_include_only_deleted_dirs with a single file deleted withing the test directory
id: changed-files-dir-names-deleted-files-include-only-deleted-dirs-single-file
uses: ./
with:
base_sha: 920856cfdd4b4be17810e34b197596397473adf6
sha: a52f8621d26d5d9f54b80f74bda2d9eedff94693
dir_names: true
dir_names_deleted_files_include_only_deleted_dirs: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-single-file.outputs) }}'
shell:
bash
- name: Check deleted_files output
if: steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-single-file.outputs.deleted_files != ''
run: |
echo "Invalid output: Expected '' got (${{ steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-single-file.outputs.deleted_files }})"
exit 1
shell:
bash
test-dir-names-deleted-files-include-only-deleted-dirs-directory:
name: Test dir names deleted files include only deleted dirs
runs-on: ubuntu-latest
needs: build
if: needs.build.outputs.files_changed != 'true'
steps:
- name: Checkout branch
uses: actions/checkout@v4
with:
ref: cd1e384723e4d1a184568182ac2b27c53ebf017f
repository: ${{ github.event.pull_request.head.repo.full_name }}
submodules: true
fetch-depth: 2
- name: Run changed-files with dir_names and dir_names_deleted_files_include_only_deleted_dirs with the test directory deleted
id: changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory
uses: ./
with:
base_sha: a52f8621d26d5d9f54b80f74bda2d9eedff94693
sha: cd1e384723e4d1a184568182ac2b27c53ebf017f
dir_names: true
dir_names_deleted_files_include_only_deleted_dirs: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs) }}'
shell:
bash
- name: Check deleted_files output on non windows platform
if: steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs.deleted_files != 'test/test3' && runner.os != 'Windows'
run: |
echo "Invalid output: Expected (test/test3) got (${{ steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs.deleted_files }})"
exit 1
shell:
bash
- name: Check deleted_files output on windows platform
if: "!contains(steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs.deleted_files, 'test\\test3') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected (test\\test3) got (${{ steps.changed-files-dir-names-deleted-files-include-only-deleted-dirs-directory.outputs.deleted_files }})"
exit 1
shell:
bash
test-since-last-remote-commit:
name: Test changed-files since last remote commit
runs-on: ubuntu-latest
@@ -1423,14 +1497,14 @@ jobs:
fi
shell:
bash
- name: Check if a excluded file is not included in any_deleted on non windows platform
- name: Check if an excluded file is included in deleted_files output on non windows platform
if: "contains(steps.changed-files-specific.outputs.deleted_files, 'test/test/test.txt') && runner.os != 'Windows'"
run: |
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific.outputs.deleted_files }})"
exit 1
shell:
bash
- name: Check if a excluded file is not included in any_deleted on windows platform
- name: Check if an excluded file is included in deleted_files output on windows platform
if: "contains(steps.changed-files-specific.outputs.deleted_files, 'test\\test\\test.txt') && runner.os == 'Windows'"
run: |
echo "Invalid output: Expected not to include (test\\test\\test.txt) got (${{ steps.changed-files-specific.outputs.deleted_files }})"
@@ -1869,7 +1943,7 @@ jobs:
id: branch-name
uses: tj-actions/branch-names@v7
if: github.event_name == 'pull_request' && matrix.fetch-depth == 0
- uses: nrwl/nx-set-shas@v3
- uses: nrwl/nx-set-shas@v4
id: last_successful_commit
if: github.event_name == 'pull_request' && github.event.action != 'closed' && matrix.fetch-depth == 0
with:

View File

@@ -9,7 +9,7 @@ jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- uses: actions/checkout@v4
with:
fetch-depth: 0

View File

@@ -1,5 +1,152 @@
# Changelog
# [39.2.1](https://github.com/tj-actions/changed-files/compare/v39.2.0...v39.2.1) - (2023-10-03)
## <!-- 1 -->🐛 Bug Fixes
- Incorrect branch name for issue_comment event ([#1625](https://github.com/tj-actions/changed-files/issues/1625)) ([3415b43](https://github.com/tj-actions/changed-files/commit/3415b437807016c147990325ffd1c445deaa7a1d)) - (Tonye Jack)
- **deps:** Update dependency @octokit/rest to v20.0.2 ([2ba385a](https://github.com/tj-actions/changed-files/commit/2ba385a5e1d21dc4d37a2baf55e780a7fd57139c)) - (renovate[bot])
## <!-- 26 -->🔄 Update
- Update issue-comment-test.yml ([344b35f](https://github.com/tj-actions/changed-files/commit/344b35fc53a62a8550dc9715607c49a8777f16a1)) - (Tonye Jack)
- Update README.md ([e061de5](https://github.com/tj-actions/changed-files/commit/e061de58dad56050b79935b5cf2dcad74159fb83)) - (Tonye Jack)
- Update README.md ([2d7c109](https://github.com/tj-actions/changed-files/commit/2d7c10954b8d1cbd6384cb940c06c4478c53837d)) - (Tonye Jack)
- Update README.md ([6e74c9d](https://github.com/tj-actions/changed-files/commit/6e74c9dbbb6ba09bce97da82f2262807d6abbfa5)) - (Tonye Jack)
- Updated README.md ([#1612](https://github.com/tj-actions/changed-files/issues/1612))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([cf03855](https://github.com/tj-actions/changed-files/commit/cf03855076201be8cde507cce3b8bd4e9f7abe95)) - (tj-actions[bot])
- Update README.md ([877b5ce](https://github.com/tj-actions/changed-files/commit/877b5ce98c3a0133d7ac80b7e2cae6cc8f961841)) - (Tonye Jack)
- Updated README.md ([#1606](https://github.com/tj-actions/changed-files/issues/1606))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([dac82b0](https://github.com/tj-actions/changed-files/commit/dac82b0e155183344880244ed092cd3b06663426)) - (tj-actions[bot])
- Update README.md ([4595c4c](https://github.com/tj-actions/changed-files/commit/4595c4c56bb7ca1edba1f155a344153539b2b2f8)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- Clean up test ([#1627](https://github.com/tj-actions/changed-files/issues/1627)) ([db153ba](https://github.com/tj-actions/changed-files/commit/db153baf731265ad02cd490b07f470e2d55e3345)) - (Tonye Jack)
- Update issue-comment-test.yml ([f318653](https://github.com/tj-actions/changed-files/commit/f318653745f7ab6557649e6f96c71a5faccacb6b)) - (Tonye Jack)
- **deps:** Update dependency @types/node to v20.8.2 ([15f38d6](https://github.com/tj-actions/changed-files/commit/15f38d6693283446115e78f7b3076608c1c67d02)) - (renovate[bot])
- Create issue-comment-test.yml ([#1624](https://github.com/tj-actions/changed-files/issues/1624)) ([2160c8e](https://github.com/tj-actions/changed-files/commit/2160c8e998e23cb0a2cee38e4f030a743d61af29)) - (Tonye Jack)
- **deps:** Update typescript-eslint monorepo to v6.7.4 ([39084f9](https://github.com/tj-actions/changed-files/commit/39084f937ae8cc423a895ef8507e6620b1b7983b)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.8.0 ([22a6a7d](https://github.com/tj-actions/changed-files/commit/22a6a7dedc674501315625e1db94ce3fdbfdf386)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v27.4.2 ([8f93691](https://github.com/tj-actions/changed-files/commit/8f93691a81d6c978bc304711c46597e7dbbc25d4)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.7.2 ([c5c7d81](https://github.com/tj-actions/changed-files/commit/c5c7d8163f10b0dde64364d83cafb8de357b75eb)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.7.1 ([6f90eec](https://github.com/tj-actions/changed-files/commit/6f90eecfe82139f386adf4623cc24103cde40c3f)) - (renovate[bot])
- **deps:** Update dependency @types/micromatch to v4.0.3 ([4daaa81](https://github.com/tj-actions/changed-files/commit/4daaa8171de72e3250f45fc86d12a60d1dd47158)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-github to v4.10.1 ([cbff914](https://github.com/tj-actions/changed-files/commit/cbff9146e3997d34c4e754583c25435257541e58)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.7.0 ([44827f3](https://github.com/tj-actions/changed-files/commit/44827f39da2d74aeb9462a58b09a6be660878d4e)) - (renovate[bot])
- **deps:** Update typescript-eslint monorepo to v6.7.3 ([7d9358a](https://github.com/tj-actions/changed-files/commit/7d9358afc150cebfe3b5bd5741b21885ef30bf86)) - (renovate[bot])
- Updated list of unsupported inputs when using REST API ([#1611](https://github.com/tj-actions/changed-files/issues/1611)) ([428220b](https://github.com/tj-actions/changed-files/commit/428220b7f403d741a0c919da5b37293e1fc2b492)) - (Tonye Jack)
- **deps:** Update dependency @types/node to v20.6.5 ([914e022](https://github.com/tj-actions/changed-files/commit/914e0223cf25b0dcee06b9dddf0e5e8c2f13ea63)) - (renovate[bot])
- **deps:** Lock file maintenance ([b79cd45](https://github.com/tj-actions/changed-files/commit/b79cd45602e1ab93c5766c4055e658d83bd4f7a3)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.6.4 ([19107de](https://github.com/tj-actions/changed-files/commit/19107de46c6b36f05bae9188237357904b070361)) - (renovate[bot])
- **deps:** Update dependency @types/lodash to v4.14.199 ([29dd1b9](https://github.com/tj-actions/changed-files/commit/29dd1b9c76732acc349df06e11ac2cf359137642)) - (renovate[bot])
- **deps:** Update dependency eslint to v8.50.0 ([39000e5](https://github.com/tj-actions/changed-files/commit/39000e536b5446b6d4d0558ba3467384265331a0)) - (renovate[bot])
- **deps:** Lock file maintenance ([9053f9e](https://github.com/tj-actions/changed-files/commit/9053f9ea110082a134adc566dc32ece555fc4125)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v39.2.0 ([#1604](https://github.com/tj-actions/changed-files/issues/1604))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com> ([181ee9b](https://github.com/tj-actions/changed-files/commit/181ee9b66b9d14bd0c5ae6b99fefb64b91800887)) - (tj-actions[bot])
# [39.2.0](https://github.com/tj-actions/changed-files/compare/v39.1.2...v39.2.0) - (2023-09-22)
## <!-- 0 -->🚀 Features
- Add support for restricting the deleted files output to only deleted directories ([e6ce728](https://github.com/tj-actions/changed-files/commit/e6ce728d79e6c15a69a0eea43b1968c2f9da2e8b)) - (Tonye Jack)
## <!-- 1 -->🐛 Bug Fixes
- Fixed test for windows
([e94da5a](https://github.com/tj-actions/changed-files/commit/e94da5a065ad8dc8e519802967e6e6ccea3f5e87)) - (Tonye Jack)
- Fixed the test
([a721d00](https://github.com/tj-actions/changed-files/commit/a721d001dd7be793f80500eb3f60ea9db0743864)) - (Tonye Jack)
## <!-- 16 --> Add
- Added missing changes and modified dist assets.
([8af3110](https://github.com/tj-actions/changed-files/commit/8af3110d4dfd8c1cc180fee0f14bcf402b598fb0)) - (GitHub Action)
- Added a test files
([920856c](https://github.com/tj-actions/changed-files/commit/920856cfdd4b4be17810e34b197596397473adf6)) - (Tonye Jack)
- Added missing changes and modified dist assets.
([8296c33](https://github.com/tj-actions/changed-files/commit/8296c33fd0180e60f8f7231f51d246bed82abf1f)) - (GitHub Action)
- Added missing changes and modified dist assets.
([2398551](https://github.com/tj-actions/changed-files/commit/23985514152c809eeea6e96f26c98b66dc77befa)) - (GitHub Action)
- Added missing changes and modified dist assets.
([ff65504](https://github.com/tj-actions/changed-files/commit/ff65504325c3dc10f03100fd228c04eeca7cca3a)) - (GitHub Action)
- Added missing changes and modified dist assets.
([2325baa](https://github.com/tj-actions/changed-files/commit/2325baada3477c4ca5bd25dce29d88b1efdf9f01)) - (GitHub Action)
## <!-- 17 --> Remove
- Deleted the test3 directory
([cd1e384](https://github.com/tj-actions/changed-files/commit/cd1e384723e4d1a184568182ac2b27c53ebf017f)) - (Tonye Jack)
- Deleted a single test file
([a52f862](https://github.com/tj-actions/changed-files/commit/a52f8621d26d5d9f54b80f74bda2d9eedff94693)) - (Tonye Jack)
- Removed unused code
([c98e6d2](https://github.com/tj-actions/changed-files/commit/c98e6d20fc234e1f4b0047cd43af2a37f8f38f44)) - (Tonye Jack)
- Removed unused code
([060b3b9](https://github.com/tj-actions/changed-files/commit/060b3b9b039f423591f1c790691e6d4ddabb1f5e)) - (Tonye Jack)
## <!-- 26 -->🔄 Update
- Updated README.md ([#1602](https://github.com/tj-actions/changed-files/issues/1602))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([8238a41](https://github.com/tj-actions/changed-files/commit/8238a4103220c636f2dad328ead8a7c8dbe316a3)) - (tj-actions[bot])
- Update test
([d2486b4](https://github.com/tj-actions/changed-files/commit/d2486b470f2ea6ffb0bc55a779968d797a2e3009)) - (Tonye Jack)
- Updated test
([e7fd9e5](https://github.com/tj-actions/changed-files/commit/e7fd9e59a4c7d9b50cd73b32576bf580517e7f60)) - (Tonye Jack)
- Updated debug message
([62a23f8](https://github.com/tj-actions/changed-files/commit/62a23f82b163be6455968457151fa0094ec92a63)) - (Tonye Jack)
- Update test
([ef42e5a](https://github.com/tj-actions/changed-files/commit/ef42e5ad18862ebf72e51cda14a38bf220407805)) - (Tonye Jack)
- Updated the test
([08906b3](https://github.com/tj-actions/changed-files/commit/08906b32548b7ccb4431cbf73cce16bf70b8746c)) - (Tonye Jack)
- Updated description
([cd35eac](https://github.com/tj-actions/changed-files/commit/cd35eace2271604e450d83d35cf4a157796a89a9)) - (Tonye Jack)
- Updated use of deletedFilesPaths
([543c1a2](https://github.com/tj-actions/changed-files/commit/543c1a25c6c1b4906734af8e1a90d01291c87a55)) - (Tonye Jack)
- Updated action.yml
([1be4200](https://github.com/tj-actions/changed-files/commit/1be42003d742f660cf76cb29b6a1f0d85706f646)) - (Tonye Jack)
- Update README.md ([0b947ed](https://github.com/tj-actions/changed-files/commit/0b947ed818f8a396b19a263544998ab92a863b98)) - (Tonye Jack)
- Update README.md ([e8dbf6d](https://github.com/tj-actions/changed-files/commit/e8dbf6d67071d288495f592937fe3bdbea3570f4)) - (Tonye Jack)
## <!-- 30 -->📝 Other
- PR [#1601](https://github.com/tj-actions/changed-files/pull/1601): ([aaf4339](https://github.com/tj-actions/changed-files/commit/aaf4339aa1cd7bd2fbe6d869601e3c52baac24ca)) - (Tonye Jack)
- Merge branch 'main' into feat/add-support-for-restricting-the-deleted-files-output-to-only-deleted-directories ([e3cc088](https://github.com/tj-actions/changed-files/commit/e3cc088a9606acc8b7a64528de485e4ae1f868ec)) - (repo-ranger[bot])
- Merge 62a23f82b163be6455968457151fa0094ec92a63 into 0b947ed818f8a396b19a263544998ab92a863b98
([a351a30](https://github.com/tj-actions/changed-files/commit/a351a301d2a539ab0e3949e7d8ba1aa8fe7fc145)) - (Tonye Jack)
- Merge c98e6d20fc234e1f4b0047cd43af2a37f8f38f44 into 0b947ed818f8a396b19a263544998ab92a863b98
([0ad71b9](https://github.com/tj-actions/changed-files/commit/0ad71b9855cfe37f7e68ded4ce5fd215ed87e96e)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Update actions/checkout digest to 8ade135 ([72d7089](https://github.com/tj-actions/changed-files/commit/72d7089b7241aaa6c60dc39e8336f9aef5ebd1da)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v39.1.2 ([#1594](https://github.com/tj-actions/changed-files/issues/1594))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([41c232a](https://github.com/tj-actions/changed-files/commit/41c232aad8c4c6c99852ca5363e8cb2dc76e7c8e)) - (tj-actions[bot])
# [39.1.2](https://github.com/tj-actions/changed-files/compare/v39.1.1...v39.1.2) - (2023-09-20)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- Add warrning message to diff error ([#1593](https://github.com/tj-actions/changed-files/issues/1593)) ([4196030](https://github.com/tj-actions/changed-files/commit/41960309398d165631f08c5df47a11147e14712b)) - (Tonye Jack)
- **deps:** Update dependency @types/node to v20.6.3 ([bbe7960](https://github.com/tj-actions/changed-files/commit/bbe796033ec7cd22e0e20315c172c13048fc437c)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v39.1.1 ([#1591](https://github.com/tj-actions/changed-files/issues/1591))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([159562d](https://github.com/tj-actions/changed-files/commit/159562dc02e645a8a858fca8e12f289e65d30fa5)) - (tj-actions[bot])
# [39.1.1](https://github.com/tj-actions/changed-files/compare/v39.1.0...v39.1.1) - (2023-09-19)
## <!-- 1 -->🐛 Bug Fixes

152
README.md
View File

@@ -17,6 +17,12 @@
Effortlessly track all changed files and directories relative to a target branch, preceding commit or the last remote commit returning **relative paths** from the project root using this GitHub action.
> **Note**
>
> * This action solely identifies files that have undergone changes within the context of events such as `pull_request*`, `push`, and more. However, it doesn't detect pending uncommitted changes created during the workflow execution.
>
> See: https://github.com/tj-actions/verify-changed-files instead
## Table of contents
* [Features 🚀](#features-)
@@ -33,7 +39,7 @@ Effortlessly track all changed files and directories relative to a target branch
* [Real-world usage 🌐](#real-world-usage-)
* [Open source projects 📦](#open-source-projects-)
* [Scalability Example 📈](#scalability-example-)
* [Known Limitation ⚠️](#known-limitation-)
* [Important Notice ⚠️](#important-notice-)
* [Migration guide 🔄](#migration-guide-)
* [Credits 👏](#credits-)
* [Report Bugs 🐛](#report-bugs-)
@@ -76,13 +82,12 @@ And many more...
## Usage 💻
> **Warning**
> **Important**
>
> * For `push` events: When configuring [`actions/checkout`](https://github.com/actions/checkout#usage), make sure to set [`fetch-depth`](https://github.com/actions/checkout#usage) to either `0` or `2`, depending on your use case.
> * For mono repositories where pulling all branch history might not be desired, you can still use the default [`fetch-depth`](https://github.com/actions/checkout#usage), which is set to `1` for `pull_request` events.
> * Avoid using single or double quotes for multiline inputs, as the value is already a string separated by a newline character. See [Examples](#examples) for more information.
> * If [`fetch-depth`](https://github.com/actions/checkout#usage) isn't set to `0`, ensure that `persist-credentials` is set to `true` when configuring [`actions/checkout`](https://github.com/actions/checkout#usage).
> * For repositories that have PRs generated from forks, when configuring [`actions/checkout`](https://github.com/actions/checkout#usage), set the [`repository`](https://github.com/actions/checkout#usage) to `${{ github.event.pull_request.head.repo.full_name }}`. See [Example](https://github.com/tj-actions/changed-files/blob/main/.github/workflows/test.yml#L47-L51).
> * If [`fetch-depth`](https://github.com/actions/checkout#usage) isn't set to `0`, ensure that [`persist-credentials`](https://github.com/actions/checkout#usage) is set to `true` when configuring [`actions/checkout`](https://github.com/actions/checkout#usage).
Visit the [discussions for more information](https://github.com/tj-actions/changed-files/discussions) or [create a new discussion](https://github.com/tj-actions/changed-files/discussions/new/choose) for usage-related questions.
@@ -113,6 +118,21 @@ jobs:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
# Example 1
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
# To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g
# with:
# since_last_remote_commit: true
- name: List all changed files
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
echo "$file was changed"
done
# Example 2
- name: Get all test, doc and src files that have changed
id: changed-files-yaml
uses: tj-actions/changed-files@v39
@@ -142,21 +162,6 @@ jobs:
echo "One or more doc file(s) has changed."
echo "List all the files that have changed: ${{ steps.changed-files-yaml.outputs.doc_all_changed_files }}"
# Example 2
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
# To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g
# with:
# since_last_remote_commit: true
- name: List all changed files
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
echo "$file was changed"
done
# Example 3
- name: Get changed files in the docs folder
id: changed-files-specific
@@ -273,7 +278,7 @@ jobs:
...
```
To access more examples, navigate to the [Examples](#examples) section.
To access more examples, navigate to the [Examples](#examples-) section.
If you feel generous and want to show some extra appreciation:
@@ -354,57 +359,58 @@ Support this project with a :star:
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <a name="input_api_url"></a>[api\_url](#input_api_url) | string | false | `"${{ github.api_url }}"` | Github API URL. |
| <a name="input_base_sha"></a>[base\_sha](#input_base_sha) | string | false | | Specify a different base commit <br>SHA used for comparing changes |
| <a name="input_diff_relative"></a>[diff\_relative](#input_diff_relative) | string | false | `"true"` | Exclude changes outside the current <br>directory and show path names <br>relative to it. **NOTE:** This <br>requires you to specify the <br>top level directory via the <br>`path` input. |
| <a name="input_dir_names"></a>[dir\_names](#input_dir_names) | string | false | `"false"` | Output unique changed directories instead <br>of filenames. **NOTE:** This returns <br>`.` for changed files located <br>in the current working directory <br>which defaults to `$GITHUB_WORKSPACE`. |
| <a name="input_dir_names_exclude_current_dir"></a>[dir\_names\_exclude\_current\_dir](#input_dir_names_exclude_current_dir) | string | false | `"false"` | Exclude the current directory represented <br>by `.` from the output <br>when `dir_names` is set to <br>`true`. |
| <a name="input_dir_names_include_files"></a>[dir\_names\_include\_files](#input_dir_names_include_files) | string | false | | Include files in the output <br>when `dir_names` is set to <br>`true`. **NOTE:** This returns only <br>the matching files and also <br>the directory names. |
| <a name="input_dir_names_include_files_separator"></a>[dir\_names\_include\_files\_separator](#input_dir_names_include_files_separator) | string | false | `"\n"` | Separator used to split the <br>`dir_names_include_files` input |
| <a name="input_dir_names_max_depth"></a>[dir\_names\_max\_depth](#input_dir_names_max_depth) | string | false | | Limit the directory output to <br>a maximum depth e.g `test/test1/test2` <br>with max depth of `2` <br>returns `test/test1`. |
| <a name="input_escape_json"></a>[escape\_json](#input_escape_json) | string | false | `"true"` | Escape JSON output. |
| <a name="input_fail_on_initial_diff_error"></a>[fail\_on\_initial\_diff\_error](#input_fail_on_initial_diff_error) | string | false | `"false"` | Fail when the initial diff <br>fails. |
| <a name="input_fail_on_submodule_diff_error"></a>[fail\_on\_submodule\_diff\_error](#input_fail_on_submodule_diff_error) | string | false | `"false"` | Fail when the submodule diff <br>fails. |
| <a name="input_fetch_additional_submodule_history"></a>[fetch\_additional\_submodule\_history](#input_fetch_additional_submodule_history) | string | false | `"false"` | Fetch additional history for submodules. |
| <a name="input_fetch_depth"></a>[fetch\_depth](#input_fetch_depth) | string | false | `"50"` | Depth of additional branch history <br>fetched. **NOTE**: This can be <br>adjusted to resolve errors with <br>insufficient history. |
| <a name="input_files"></a>[files](#input_files) | string | false | | File and directory patterns used <br>to detect changes (Defaults to the entire repo if unset) **NOTE:** <br>Multiline file/directory patterns should not <br>include quotes. |
| <a name="input_files_from_source_file"></a>[files\_from\_source\_file](#input_files_from_source_file) | string | false | | Source file(s) used to populate <br>the `files` input. |
| <a name="input_files_from_source_file_separator"></a>[files\_from\_source\_file\_separator](#input_files_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_from_source_file` input |
| <a name="input_files_ignore"></a>[files\_ignore](#input_files_ignore) | string | false | | Ignore changes to these file(s) <br>**NOTE:** Multiline file/directory patterns should <br>not include quotes. |
| <a name="input_files_ignore_from_source_file"></a>[files\_ignore\_from\_source\_file](#input_files_ignore_from_source_file) | string | false | | Source file(s) used to populate <br>the `files_ignore` input |
| <a name="input_files_ignore_from_source_file_separator"></a>[files\_ignore\_from\_source\_file\_separator](#input_files_ignore_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_ignore_from_source_file` input |
| <a name="input_files_ignore_separator"></a>[files\_ignore\_separator](#input_files_ignore_separator) | string | false | `"\n"` | Separator used to split the <br>`files_ignore` input |
| <a name="input_files_ignore_yaml"></a>[files\_ignore\_yaml](#input_files_ignore_yaml) | string | false | | YAML used to define a <br>set of file patterns to <br>ignore changes |
| <a name="input_files_ignore_yaml_from_source_file"></a>[files\_ignore\_yaml\_from\_source\_file](#input_files_ignore_yaml_from_source_file) | string | false | | Source file(s) used to populate <br>the `files_ignore_yaml` input. [Example](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml) |
| <a name="input_files_ignore_yaml_from_source_file_separator"></a>[files\_ignore\_yaml\_from\_source\_file\_separator](#input_files_ignore_yaml_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_ignore_yaml_from_source_file` input |
| <a name="input_files_separator"></a>[files\_separator](#input_files_separator) | string | false | `"\n"` | Separator used to split the <br>`files` input |
| <a name="input_files_yaml"></a>[files\_yaml](#input_files_yaml) | string | false | | YAML used to define a <br>set of file patterns to <br>detect changes |
| <a name="input_files_yaml_from_source_file"></a>[files\_yaml\_from\_source\_file](#input_files_yaml_from_source_file) | string | false | | Source file(s) used to populate <br>the `files_yaml` input. [Example](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml) |
| <a name="input_files_yaml_from_source_file_separator"></a>[files\_yaml\_from\_source\_file\_separator](#input_files_yaml_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_yaml_from_source_file` input |
| <a name="input_include_all_old_new_renamed_files"></a>[include\_all\_old\_new\_renamed\_files](#input_include_all_old_new_renamed_files) | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this <br>can generate a large output <br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| <a name="input_json"></a>[json](#input_json) | string | false | `"false"` | Output list of changed files <br>in a JSON formatted string <br>which can be used for <br>matrix jobs. [Example](https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-test.yml) |
| <a name="input_old_new_files_separator"></a>[old\_new\_files\_separator](#input_old_new_files_separator) | string | false | `" "` | Split character for old and <br>new renamed filename pairs. |
| <a name="input_old_new_separator"></a>[old\_new\_separator](#input_old_new_separator) | string | false | `","` | Split character for old and <br>new filename pairs. |
| <a name="input_output_dir"></a>[output\_dir](#input_output_dir) | string | false | `".github/outputs"` | Directory to store output files. |
| <a name="input_output_renamed_files_as_deleted_and_added"></a>[output\_renamed\_files\_as\_deleted\_and\_added](#input_output_renamed_files_as_deleted_and_added) | string | false | `"false"` | Output renamed files as deleted <br>and added files. |
| <a name="input_path"></a>[path](#input_path) | string | false | `"."` | Specify a relative path under <br>`$GITHUB_WORKSPACE` to locate the repository. |
| <a name="input_quotepath"></a>[quotepath](#input_quotepath) | string | false | `"true"` | Use non-ascii characters to match <br>files and output the filenames <br>completely verbatim by setting this <br>to `false` |
| <a name="input_recover_deleted_files"></a>[recover\_deleted\_files](#input_recover_deleted_files) | string | false | `"false"` | Recover deleted files. |
| <a name="input_recover_deleted_files_to_destination"></a>[recover\_deleted\_files\_to\_destination](#input_recover_deleted_files_to_destination) | string | false | | Recover deleted files to a <br>new destination directory, defaults to <br>the original location. |
| <a name="input_recover_files"></a>[recover\_files](#input_recover_files) | string | false | | File and directory patterns used <br>to recover deleted files, defaults <br>to the patterns provided via <br>the `files`, `files_from_source_file`, `files_ignore` and <br>`files_ignore_from_source_file` inputs or all deleted <br>files if no patterns are <br>provided. |
| <a name="input_recover_files_ignore"></a>[recover\_files\_ignore](#input_recover_files_ignore) | string | false | | File and directory patterns to <br>ignore when recovering deleted files. |
| <a name="input_recover_files_ignore_separator"></a>[recover\_files\_ignore\_separator](#input_recover_files_ignore_separator) | string | false | `"\n"` | Separator used to split the <br>`recover_files_ignore` input |
| <a name="input_recover_files_separator"></a>[recover\_files\_separator](#input_recover_files_separator) | string | false | `"\n"` | Separator used to split the <br>`recover_files` input |
| <a name="input_separator"></a>[separator](#input_separator) | string | false | `" "` | Split character for output strings |
| <a name="input_sha"></a>[sha](#input_sha) | string | false | | Specify a different commit SHA <br>used for comparing changes |
| <a name="input_since"></a>[since](#input_since) | string | false | | Get changed files for commits <br>whose timestamp is older than <br>the given time. |
| <a name="input_since_last_remote_commit"></a>[since\_last\_remote\_commit](#input_since_last_remote_commit) | string | false | `"false"` | Use the last commit on <br>the remote branch as the <br>`base_sha`. Defaults to the last <br>non-merge commit on the target <br>branch for pull request events <br>and the previous remote commit <br>of the current branch for <br>push events. |
| <a name="input_skip_initial_fetch"></a>[skip\_initial\_fetch](#input_skip_initial_fetch) | string | false | `"false"` | Skip the initial fetch to <br>improve performance for shallow repositories. <br>**NOTE**: This could lead to <br>errors with missing history and <br>the intended use is limited <br>to when you've fetched the <br>history necessary to perform the <br>diff. |
| <a name="input_token"></a>[token](#input_token) | string | false | `"${{ github.token }}"` | Github token used to fetch <br>changed files from Github's API. |
| <a name="input_until"></a>[until](#input_until) | string | false | | Get changed files for commits <br>whose timestamp is earlier than <br>the given time. |
| <a name="input_write_output_files"></a>[write\_output\_files](#input_write_output_files) | string | false | `"false"` | Write outputs to the `output_dir` <br>defaults to `.github/outputs` folder. **NOTE:** <br>This creates a `.txt` file <br>by default and a `.json` <br>file if `json` is set <br>to `true`. |
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <a name="input_api_url"></a>[api\_url](#input_api_url) | string | false | `"${{ github.api_url }}"` | Github API URL. |
| <a name="input_base_sha"></a>[base\_sha](#input_base_sha) | string | false | | Specify a different base commit <br>SHA used for comparing changes |
| <a name="input_diff_relative"></a>[diff\_relative](#input_diff_relative) | string | false | `"true"` | Exclude changes outside the current <br>directory and show path names <br>relative to it. **NOTE:** This <br>requires you to specify the <br>top level directory via the <br>`path` input. |
| <a name="input_dir_names"></a>[dir\_names](#input_dir_names) | string | false | `"false"` | Output unique changed directories instead <br>of filenames. **NOTE:** This returns <br>`.` for changed files located <br>in the current working directory <br>which defaults to `$GITHUB_WORKSPACE`. |
| <a name="input_dir_names_deleted_files_include_only_deleted_dirs"></a>[dir\_names\_deleted\_files\_include\_only\_deleted\_dirs](#input_dir_names_deleted_files_include_only_deleted_dirs) | string | false | `"false"` | Include only directories that have <br>been deleted as opposed to <br>directory names of files that <br>have been deleted in the <br>`deleted_files` output when `dir_names` is <br>set to `true`. |
| <a name="input_dir_names_exclude_current_dir"></a>[dir\_names\_exclude\_current\_dir](#input_dir_names_exclude_current_dir) | string | false | `"false"` | Exclude the current directory represented <br>by `.` from the output <br>when `dir_names` is set to <br>`true`. |
| <a name="input_dir_names_include_files"></a>[dir\_names\_include\_files](#input_dir_names_include_files) | string | false | | Include files in the output <br>when `dir_names` is set to <br>`true`. **NOTE:** This returns only <br>the matching files and also <br>the directory names. |
| <a name="input_dir_names_include_files_separator"></a>[dir\_names\_include\_files\_separator](#input_dir_names_include_files_separator) | string | false | `"\n"` | Separator used to split the <br>`dir_names_include_files` input |
| <a name="input_dir_names_max_depth"></a>[dir\_names\_max\_depth](#input_dir_names_max_depth) | string | false | | Limit the directory output to <br>a maximum depth e.g `test/test1/test2` <br>with max depth of `2` <br>returns `test/test1`. |
| <a name="input_escape_json"></a>[escape\_json](#input_escape_json) | string | false | `"true"` | Escape JSON output. |
| <a name="input_fail_on_initial_diff_error"></a>[fail\_on\_initial\_diff\_error](#input_fail_on_initial_diff_error) | string | false | `"false"` | Fail when the initial diff <br>fails. |
| <a name="input_fail_on_submodule_diff_error"></a>[fail\_on\_submodule\_diff\_error](#input_fail_on_submodule_diff_error) | string | false | `"false"` | Fail when the submodule diff <br>fails. |
| <a name="input_fetch_additional_submodule_history"></a>[fetch\_additional\_submodule\_history](#input_fetch_additional_submodule_history) | string | false | `"false"` | Fetch additional history for submodules. |
| <a name="input_fetch_depth"></a>[fetch\_depth](#input_fetch_depth) | string | false | `"50"` | Depth of additional branch history <br>fetched. **NOTE**: This can be <br>adjusted to resolve errors with <br>insufficient history. |
| <a name="input_files"></a>[files](#input_files) | string | false | | File and directory patterns used <br>to detect changes (Defaults to the entire repo if unset) **NOTE:** <br>Multiline file/directory patterns should not <br>include quotes. |
| <a name="input_files_from_source_file"></a>[files\_from\_source\_file](#input_files_from_source_file) | string | false | | Source file(s) used to populate <br>the `files` input. |
| <a name="input_files_from_source_file_separator"></a>[files\_from\_source\_file\_separator](#input_files_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_from_source_file` input |
| <a name="input_files_ignore"></a>[files\_ignore](#input_files_ignore) | string | false | | Ignore changes to these file(s) <br>**NOTE:** Multiline file/directory patterns should <br>not include quotes. |
| <a name="input_files_ignore_from_source_file"></a>[files\_ignore\_from\_source\_file](#input_files_ignore_from_source_file) | string | false | | Source file(s) used to populate <br>the `files_ignore` input |
| <a name="input_files_ignore_from_source_file_separator"></a>[files\_ignore\_from\_source\_file\_separator](#input_files_ignore_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_ignore_from_source_file` input |
| <a name="input_files_ignore_separator"></a>[files\_ignore\_separator](#input_files_ignore_separator) | string | false | `"\n"` | Separator used to split the <br>`files_ignore` input |
| <a name="input_files_ignore_yaml"></a>[files\_ignore\_yaml](#input_files_ignore_yaml) | string | false | | YAML used to define a <br>set of file patterns to <br>ignore changes |
| <a name="input_files_ignore_yaml_from_source_file"></a>[files\_ignore\_yaml\_from\_source\_file](#input_files_ignore_yaml_from_source_file) | string | false | | Source file(s) used to populate <br>the `files_ignore_yaml` input. [Example](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml) |
| <a name="input_files_ignore_yaml_from_source_file_separator"></a>[files\_ignore\_yaml\_from\_source\_file\_separator](#input_files_ignore_yaml_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_ignore_yaml_from_source_file` input |
| <a name="input_files_separator"></a>[files\_separator](#input_files_separator) | string | false | `"\n"` | Separator used to split the <br>`files` input |
| <a name="input_files_yaml"></a>[files\_yaml](#input_files_yaml) | string | false | | YAML used to define a <br>set of file patterns to <br>detect changes |
| <a name="input_files_yaml_from_source_file"></a>[files\_yaml\_from\_source\_file](#input_files_yaml_from_source_file) | string | false | | Source file(s) used to populate <br>the `files_yaml` input. [Example](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml) |
| <a name="input_files_yaml_from_source_file_separator"></a>[files\_yaml\_from\_source\_file\_separator](#input_files_yaml_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_yaml_from_source_file` input |
| <a name="input_include_all_old_new_renamed_files"></a>[include\_all\_old\_new\_renamed\_files](#input_include_all_old_new_renamed_files) | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this <br>can generate a large output <br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| <a name="input_json"></a>[json](#input_json) | string | false | `"false"` | Output list of changed files <br>in a JSON formatted string <br>which can be used for <br>matrix jobs. [Example](https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-test.yml) |
| <a name="input_old_new_files_separator"></a>[old\_new\_files\_separator](#input_old_new_files_separator) | string | false | `" "` | Split character for old and <br>new renamed filename pairs. |
| <a name="input_old_new_separator"></a>[old\_new\_separator](#input_old_new_separator) | string | false | `","` | Split character for old and <br>new filename pairs. |
| <a name="input_output_dir"></a>[output\_dir](#input_output_dir) | string | false | `".github/outputs"` | Directory to store output files. |
| <a name="input_output_renamed_files_as_deleted_and_added"></a>[output\_renamed\_files\_as\_deleted\_and\_added](#input_output_renamed_files_as_deleted_and_added) | string | false | `"false"` | Output renamed files as deleted <br>and added files. |
| <a name="input_path"></a>[path](#input_path) | string | false | `"."` | Specify a relative path under <br>`$GITHUB_WORKSPACE` to locate the repository. |
| <a name="input_quotepath"></a>[quotepath](#input_quotepath) | string | false | `"true"` | Use non-ascii characters to match <br>files and output the filenames <br>completely verbatim by setting this <br>to `false` |
| <a name="input_recover_deleted_files"></a>[recover\_deleted\_files](#input_recover_deleted_files) | string | false | `"false"` | Recover deleted files. |
| <a name="input_recover_deleted_files_to_destination"></a>[recover\_deleted\_files\_to\_destination](#input_recover_deleted_files_to_destination) | string | false | | Recover deleted files to a <br>new destination directory, defaults to <br>the original location. |
| <a name="input_recover_files"></a>[recover\_files](#input_recover_files) | string | false | | File and directory patterns used <br>to recover deleted files, defaults <br>to the patterns provided via <br>the `files`, `files_from_source_file`, `files_ignore` and <br>`files_ignore_from_source_file` inputs or all deleted <br>files if no patterns are <br>provided. |
| <a name="input_recover_files_ignore"></a>[recover\_files\_ignore](#input_recover_files_ignore) | string | false | | File and directory patterns to <br>ignore when recovering deleted files. |
| <a name="input_recover_files_ignore_separator"></a>[recover\_files\_ignore\_separator](#input_recover_files_ignore_separator) | string | false | `"\n"` | Separator used to split the <br>`recover_files_ignore` input |
| <a name="input_recover_files_separator"></a>[recover\_files\_separator](#input_recover_files_separator) | string | false | `"\n"` | Separator used to split the <br>`recover_files` input |
| <a name="input_separator"></a>[separator](#input_separator) | string | false | `" "` | Split character for output strings |
| <a name="input_sha"></a>[sha](#input_sha) | string | false | | Specify a different commit SHA <br>used for comparing changes |
| <a name="input_since"></a>[since](#input_since) | string | false | | Get changed files for commits <br>whose timestamp is older than <br>the given time. |
| <a name="input_since_last_remote_commit"></a>[since\_last\_remote\_commit](#input_since_last_remote_commit) | string | false | `"false"` | Use the last commit on <br>the remote branch as the <br>`base_sha`. Defaults to the last <br>non-merge commit on the target <br>branch for pull request events <br>and the previous remote commit <br>of the current branch for <br>push events. |
| <a name="input_skip_initial_fetch"></a>[skip\_initial\_fetch](#input_skip_initial_fetch) | string | false | `"false"` | Skip the initial fetch to <br>improve performance for shallow repositories. <br>**NOTE**: This could lead to <br>errors with missing history and <br>the intended use is limited <br>to when you've fetched the <br>history necessary to perform the <br>diff. |
| <a name="input_token"></a>[token](#input_token) | string | false | `"${{ github.token }}"` | Github token used to fetch <br>changed files from Github's API. |
| <a name="input_until"></a>[until](#input_until) | string | false | | Get changed files for commits <br>whose timestamp is earlier than <br>the given time. |
| <a name="input_write_output_files"></a>[write\_output\_files](#input_write_output_files) | string | false | `"false"` | Write outputs to the `output_dir` <br>defaults to `.github/outputs` folder. **NOTE:** <br>This creates a `.txt` file <br>by default and a `.json` <br>file if `json` is set <br>to `true`. |
<!-- AUTO-DOC-INPUT:END -->
@@ -924,9 +930,9 @@ And many more...
![image](https://github.com/tj-actions/changed-files/assets/17484350/23767413-4c51-42fb-ab1c-39ef72c44904)
## Known Limitation ⚠️
## Important Notice ⚠️
> **Warning**
> **Important**
>
> * 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 any hidden issues.

View File

@@ -120,6 +120,10 @@ inputs:
description: "Separator used to split the `dir_names_include_files` input"
default: "\n"
required: false
dir_names_deleted_files_include_only_deleted_dirs:
description: "Include only directories that have been deleted as opposed to directory names of files that have been deleted in the `deleted_files` output when `dir_names` is set to `true`."
required: false
default: "false"
json:
description: "Output list of changed files in a JSON formatted string which can be used for matrix jobs. [Example](https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-test.yml)"
required: false

32234
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

127
dist/licenses.txt generated vendored
View File

@@ -71,6 +71,28 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@fastify/busboy
MIT
Copyright Brian White. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
@octokit/auth-token
MIT
The MIT License
@@ -243,16 +265,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
@vercel/ncc
MIT
Copyright 2018 ZEIT, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
before-after-hook
Apache-2.0
Apache License
@@ -653,32 +665,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
node-fetch
MIT
The MIT License (MIT)
Copyright (c) 2016 David Frank
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
once
ISC
The ISC License
@@ -748,9 +734,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
tr46
MIT
tunnel
MIT
The MIT License (MIT)
@@ -776,6 +759,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
undici
MIT
MIT License
Copyright (c) Matteo Collina and Undici contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
universal-user-agent
ISC
# [ISC License](https://spdx.org/licenses/ISC)
@@ -800,47 +808,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
webidl-conversions
BSD-2-Clause
# The BSD 2-Clause License
Copyright (c) 2014, Domenic Denicola
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
whatwg-url
MIT
The MIT License (MIT)
Copyright (c) 20152016 Sebastian Mayr
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
wrappy
ISC
The ISC License

View File

@@ -1,6 +1,6 @@
{
"name": "@tj-actions/changed-files",
"version": "39.1.1",
"version": "39.2.1",
"description": "Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.",
"main": "lib/main.js",
"publishConfig": {
@@ -34,7 +34,7 @@
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1",
"@actions/github": "^5.1.1",
"@actions/github": "^6.0.0",
"@octokit/rest": "^20.0.1",
"lodash": "^4.17.21",
"micromatch": "^4.0.5",

View File

@@ -24,12 +24,14 @@ export const processChangedFiles = async ({
filePatterns,
allDiffFiles,
inputs,
yamlFilePatterns
yamlFilePatterns,
workingDirectory
}: {
filePatterns: string[]
allDiffFiles: ChangedFiles
inputs: Inputs
yamlFilePatterns: Record<string, string[]>
workingDirectory?: string
}): Promise<void> => {
if (filePatterns.length > 0) {
core.startGroup('changed-files-patterns')
@@ -44,7 +46,8 @@ export const processChangedFiles = async ({
allDiffFiles,
allFilteredDiffFiles,
inputs,
filePatterns
filePatterns,
workingDirectory
})
core.info('All Done!')
core.endGroup()
@@ -71,7 +74,8 @@ export const processChangedFiles = async ({
allFilteredDiffFiles,
inputs,
filePatterns: yamlFilePatterns[key],
outputPrefix: key
outputPrefix: key,
workingDirectory
})
if (anyModified) {
modifiedKeys.push(key)
@@ -106,7 +110,8 @@ export const processChangedFiles = async ({
await setOutputsAndGetModifiedAndChangedFilesStatus({
allDiffFiles,
allFilteredDiffFiles: allDiffFiles,
inputs
inputs,
workingDirectory
})
core.info('All Done!')
core.endGroup()

View File

@@ -1,4 +1,5 @@
import * as core from '@actions/core'
import path from 'path'
import {
ChangedFiles,
ChangeTypeEnum,
@@ -6,7 +7,7 @@ import {
getChangeTypeFiles
} from './changedFiles'
import {Inputs} from './inputs'
import {getOutputKey, setArrayOutput, setOutput} from './utils'
import {getOutputKey, setArrayOutput, setOutput, exists} from './utils'
const getArrayFromPaths = (
paths: string | string[],
@@ -20,13 +21,15 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
allFilteredDiffFiles,
inputs,
filePatterns = [],
outputPrefix = ''
outputPrefix = '',
workingDirectory
}: {
allDiffFiles: ChangedFiles
allFilteredDiffFiles: ChangedFiles
inputs: Inputs
filePatterns?: string[]
outputPrefix?: string
workingDirectory?: string
}): Promise<{anyModified: boolean; anyChanged: boolean}> => {
const addedFiles = await getChangeTypeFiles({
inputs,
@@ -388,6 +391,28 @@ export const setOutputsAndGetModifiedAndChangedFilesStatus = async ({
changeTypes: [ChangeTypeEnum.Deleted]
})
core.debug(`Deleted files: ${JSON.stringify(deletedFiles)}`)
if (
inputs.dirNamesDeletedFilesIncludeOnlyDeletedDirs &&
inputs.dirNames &&
workingDirectory
) {
const newDeletedFilesPaths: string[] = []
for (const deletedPath of getArrayFromPaths(deletedFiles.paths, inputs)) {
const dirPath = path.join(workingDirectory, deletedPath)
core.debug(`Checking if directory exists: ${dirPath}`)
if (!(await exists(dirPath))) {
core.debug(`Directory not found: ${dirPath}`)
newDeletedFilesPaths.push(deletedPath)
}
}
deletedFiles.paths = inputs.json
? newDeletedFilesPaths
: newDeletedFilesPaths.join(inputs.separator)
deletedFiles.count = newDeletedFilesPaths.length.toString()
core.debug(`New deleted files: ${JSON.stringify(deletedFiles)}`)
}
await setOutput({
key: getOutputKey('deleted_files', outputPrefix),
value: deletedFiles.paths,

View File

@@ -5,6 +5,7 @@ import {Env} from './env'
import {Inputs} from './inputs'
import {
canDiffCommits,
getCurrentBranchName,
getHeadSha,
getParentSha,
getPreviousGitTag,
@@ -90,7 +91,7 @@ export const getSHAForNonPullRequestEvent = async (
isTag: boolean
): Promise<DiffResult> => {
let targetBranch = env.GITHUB_REF_NAME
const currentBranch = targetBranch
let currentBranch = targetBranch
let initialCommit = false
if (!inputs.skipInitialFetch) {
@@ -163,6 +164,16 @@ export const getSHAForNonPullRequestEvent = async (
const currentSha = await getCurrentSHA({inputs, workingDirectory})
let previousSha = inputs.baseSha
const diff = '..'
const currentBranchName = await getCurrentBranchName({cwd: workingDirectory})
if (
currentBranchName &&
currentBranchName !== 'HEAD' &&
(currentBranchName !== targetBranch || currentBranchName !== currentBranch)
) {
targetBranch = currentBranchName
currentBranch = currentBranchName
}
if (previousSha && currentSha && currentBranch && targetBranch) {
if (previousSha === currentSha) {

View File

@@ -31,6 +31,7 @@ export type Inputs = {
dirNamesExcludeCurrentDir: boolean
dirNamesIncludeFiles: string
dirNamesIncludeFilesSeparator: string
dirNamesDeletedFilesIncludeOnlyDeletedDirs: boolean
json: boolean
escapeJson: boolean
fetchDepth?: number
@@ -210,6 +211,12 @@ export const getInputs = (): Inputs => {
required: false
}
)
const dirNamesDeletedFilesIncludeOnlyDeletedDirs = core.getBooleanInput(
'dir_names_deleted_files_include_only_deleted_dirs',
{
required: false
}
)
const inputs: Inputs = {
files,
@@ -249,6 +256,7 @@ export const getInputs = (): Inputs => {
oldNewFilesSeparator,
skipInitialFetch,
fetchSubmoduleHistory,
dirNamesDeletedFilesIncludeOnlyDeletedDirs,
// End Not Supported via REST API
dirNames,
dirNamesExcludeCurrentDir,

View File

@@ -152,7 +152,8 @@ const getChangedFilesFromLocalGitHistory = async ({
filePatterns,
allDiffFiles,
inputs,
yamlFilePatterns
yamlFilePatterns,
workingDirectory
})
if (inputs.includeAllOldNewRenamedFiles) {
@@ -257,7 +258,8 @@ export async function run(): Promise<void> {
'recoverFilesIgnore',
'includeAllOldNewRenamedFiles',
'skipInitialFetch',
'fetchSubmoduleHistory'
'fetchSubmoduleHistory',
'dirNamesDeletedFilesIncludeOnlyDeletedDirs'
]
for (const input of unsupportedInputs) {

View File

@@ -139,7 +139,7 @@ export const verifyMinimumGitVersion = async (): Promise<void> => {
* @param filePath - path to check
* @returns path exists
*/
const exists = async (filePath: string): Promise<boolean> => {
export const exists = async (filePath: string): Promise<boolean> => {
try {
await fs.access(filePath)
return true
@@ -696,6 +696,28 @@ export const getRemoteBranchHeadSha = async ({
return stdout.trim()
}
export const getCurrentBranchName = async ({
cwd
}: {
cwd: string
}): Promise<string> => {
const {stdout, exitCode} = await exec.getExecOutput(
'git',
['rev-parse', '--abbrev-ref', 'HEAD'],
{
cwd,
ignoreReturnCode: true,
silent: !core.isDebug()
}
)
if (exitCode !== 0) {
return ''
}
return stdout.trim()
}
export const getParentSha = async ({cwd}: {cwd: string}): Promise<string> => {
const {stdout, exitCode} = await exec.getExecOutput(
'git',

658
yarn.lock

File diff suppressed because it is too large Load Diff