Compare commits
81 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a4cc4fbd6 | ||
|
|
d372997c45 | ||
|
|
a0b9b1e5a9 | ||
|
|
88defd04db | ||
|
|
e428e21b89 | ||
|
|
b383c47099 | ||
|
|
a262e55d0d | ||
|
|
637cb57c28 | ||
|
|
65688ba5c8 | ||
|
|
63f38f9f41 | ||
|
|
3d46931839 | ||
|
|
3840bc84e6 | ||
|
|
1c9a614a4f | ||
|
|
d127e35180 | ||
|
|
386cb933d4 | ||
|
|
54b7c1b8d2 | ||
|
|
967c8a0609 | ||
|
|
6093777a38 | ||
|
|
bf3ca40593 | ||
|
|
0951b64836 | ||
|
|
32c707316b | ||
|
|
f08344bfbc | ||
|
|
bcd97d2870 | ||
|
|
e54a2423a8 | ||
|
|
3c938dc216 | ||
|
|
80e364a5d0 | ||
|
|
120c425db7 | ||
|
|
df466ccd7d | ||
|
|
0a5b7c6ec0 | ||
|
|
08d0cedfea | ||
|
|
5abef67e95 | ||
|
|
ba788ed4ee | ||
|
|
e883d3fc1b | ||
|
|
7f3332eb99 | ||
|
|
28638a0d9b | ||
|
|
0686733297 | ||
|
|
8a7336fb6f | ||
|
|
bf097488b7 | ||
|
|
fad01cd373 | ||
|
|
5b0b92e859 | ||
|
|
dc7e117725 | ||
|
|
f4f55124a4 | ||
|
|
b86dc28fcb | ||
|
|
c6cd9a4c8b | ||
|
|
62974b6c9c | ||
|
|
f76843a802 | ||
|
|
fb362d4f10 | ||
|
|
3996bc3fde | ||
|
|
7b68fcd082 | ||
|
|
c8dc4b69b8 | ||
|
|
0265ed819d | ||
|
|
96ce8da4f6 | ||
|
|
2ed48aa52f | ||
|
|
434c3eaa98 | ||
|
|
0efacabbb5 | ||
|
|
61fac4da4b | ||
|
|
6ea66cc129 | ||
|
|
30b9252953 | ||
|
|
3b10cebd3d | ||
|
|
171e4353ac | ||
|
|
1882e2f481 | ||
|
|
0c4c0c47b8 | ||
|
|
fe3a37012f | ||
|
|
fe47f7dc4c | ||
|
|
61e93c8aeb | ||
|
|
73e225f69c | ||
|
|
ef0a29048c | ||
|
|
e447432ead | ||
|
|
4203489288 | ||
|
|
e7e332ee69 | ||
|
|
1bf2487713 | ||
|
|
07952792bb | ||
|
|
3e827ae4d1 | ||
|
|
839d5701db | ||
|
|
3ebdc42d8b | ||
|
|
747f9e656c | ||
|
|
9d429cc7ac | ||
|
|
b04424611d | ||
|
|
4f5723a9fe | ||
|
|
d362fea453 | ||
|
|
22ede94fe5 |
3
.github/workflows/auto-approve.yml
vendored
3
.github/workflows/auto-approve.yml
vendored
@@ -3,11 +3,12 @@ name: Auto approve
|
||||
on:
|
||||
pull_request_target
|
||||
|
||||
|
||||
jobs:
|
||||
auto-approve:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: hmarr/auto-approve-action@v2
|
||||
- uses: hmarr/auto-approve-action@v3
|
||||
if: |
|
||||
(
|
||||
github.event.pull_request.user.login == 'dependabot[bot]' ||
|
||||
|
||||
2
.github/workflows/submodule-sync.yml
vendored
2
.github/workflows/submodule-sync.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
git submodule update --remote --recursive
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4.2.0
|
||||
uses: peter-evans/create-pull-request@v4.2.2
|
||||
with:
|
||||
title: "Updated submodule"
|
||||
branch: "chore/update-submodule"
|
||||
|
||||
2
.github/workflows/sync-release-version.yml
vendored
2
.github/workflows/sync-release-version.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
with:
|
||||
output: 'HISTORY.md'
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4.2.0
|
||||
uses: peter-evans/create-pull-request@v4.2.2
|
||||
with:
|
||||
base: "main"
|
||||
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"
|
||||
|
||||
32
.github/workflows/test.yml
vendored
32
.github/workflows/test.yml
vendored
@@ -27,6 +27,8 @@ jobs:
|
||||
uses: actions/checkout@v3
|
||||
- name: shellcheck
|
||||
uses: reviewdog/action-shellcheck@v1.15
|
||||
with:
|
||||
github_token: ${{ secrets.PAT_TOKEN }}
|
||||
|
||||
test-multiple-repositories:
|
||||
name: Test with multiple repositories
|
||||
@@ -415,6 +417,27 @@ jobs:
|
||||
echo '${{ toJSON(steps.changed-files-quotepath.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with dir_names and dir_names_max_depth
|
||||
id: changed-files-dir-names-max-depth
|
||||
uses: ./
|
||||
with:
|
||||
base_sha: ba788ed
|
||||
sha: 0a5b7c6
|
||||
fetch_depth: 60000
|
||||
dir_names: "true"
|
||||
dir_names_max_depth: 3
|
||||
- name: Show output
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-dir-names-max-depth.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Check dir_names output
|
||||
if: "!contains(steps.changed-files-dir-names-max-depth.outputs.all_changed_files, 'test/test2/test3')"
|
||||
run: |
|
||||
echo "Invalid output: Expected to include (test/test2/test3) got (${{ steps.changed-files-dir-names-max-depth.outputs.all_changed_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with dir_names
|
||||
id: changed-files-dir-names
|
||||
uses: ./
|
||||
@@ -923,19 +946,18 @@ jobs:
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v6
|
||||
if: github.event_name == 'pull_request'
|
||||
- uses: nrwl/last-successful-commit-action@v1
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed'
|
||||
with:
|
||||
branch: ${{ steps.branch-name.outputs.base_ref_branch }}
|
||||
workflow_id: 'test.yml'
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
main-branch-name: ${{ steps.branch-name.outputs.base_ref_branch }}
|
||||
workflow-id: 'test.yml'
|
||||
- name: Run changed-files with a custom base sha
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed'
|
||||
id: changed-files-custom-base-sha
|
||||
uses: ./
|
||||
with:
|
||||
base_sha: ${{ steps.last_successful_commit.outputs.commit_hash }}
|
||||
base_sha: ${{ steps.last_successful_commit.outputs.base }}
|
||||
- name: Show output
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed'
|
||||
run: |
|
||||
|
||||
2
.github/workflows/update-readme.yml
vendored
2
.github/workflows/update-readme.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request
|
||||
if: failure()
|
||||
uses: peter-evans/create-pull-request@v4.2.0
|
||||
uses: peter-evans/create-pull-request@v4.2.2
|
||||
with:
|
||||
base: "main"
|
||||
title: "Updated README.md"
|
||||
|
||||
147
HISTORY.md
147
HISTORY.md
@@ -1,12 +1,90 @@
|
||||
# Changelog
|
||||
|
||||
## [v34.4.4](https://github.com/tj-actions/changed-files/tree/v34.4.4) (2022-11-18)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.4.4)
|
||||
|
||||
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-18)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.3...v34)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Compare `HEAD` and `unstaged` [\#813](https://github.com/tj-actions/changed-files/issues/813)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- `increase the fetch_depth to a number higher than 5000` [\#812](https://github.com/tj-actions/changed-files/issues/812)
|
||||
- \[BUG\] changed-files v34.4.2 unable to locate a common ancestor [\#809](https://github.com/tj-actions/changed-files/issues/809)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: fix error locating last remote commit sha [\#817](https://github.com/tj-actions/changed-files/pull/817) ([jackton1](https://github.com/jackton1))
|
||||
- Bump hmarr/auto-approve-action from 2 to 3 [\#816](https://github.com/tj-actions/changed-files/pull/816) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||
- Upgraded to v34.4.3 [\#815](https://github.com/tj-actions/changed-files/pull/815) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#814](https://github.com/tj-actions/changed-files/pull/814) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.4.3](https://github.com/tj-actions/changed-files/tree/v34.4.3) (2022-11-17)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.2...v34.4.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] diff-sha.sh results in "fatal: ambiguous argument '': unknown revision or path not in the working tree." [\#750](https://github.com/tj-actions/changed-files/issues/750)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#811](https://github.com/tj-actions/changed-files/pull/811) ([jackton1](https://github.com/jackton1))
|
||||
- fix: pulling current branch history [\#810](https://github.com/tj-actions/changed-files/pull/810) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.4.2 [\#808](https://github.com/tj-actions/changed-files/pull/808) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.4.2](https://github.com/tj-actions/changed-files/tree/v34.4.2) (2022-11-15)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.1...v34.4.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Infinite loop on v34.4.0 [\#803](https://github.com/tj-actions/changed-files/issues/803)
|
||||
- Unable to locate a common ancestor between production\_migration and HEAD [\#802](https://github.com/tj-actions/changed-files/issues/802)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: bug with retrieving the last remote commit [\#806](https://github.com/tj-actions/changed-files/pull/806) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.4.1](https://github.com/tj-actions/changed-files/tree/v34.4.1) (2022-11-15)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.0...v34.4.1)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Very simple branch gives: "Unable to find merge-base between main and HEAD." [\#797](https://github.com/tj-actions/changed-files/issues/797)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: update sync-release-version.yml [\#805](https://github.com/tj-actions/changed-files/pull/805) ([jackton1](https://github.com/jackton1))
|
||||
- fix: finding merge-base [\#804](https://github.com/tj-actions/changed-files/pull/804) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.4.0 [\#800](https://github.com/tj-actions/changed-files/pull/800) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.4.0](https://github.com/tj-actions/changed-files/tree/v34.4.0) (2022-11-11)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.4...v34.4.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Specfic File Bug in v33 / v34 - grep: : No such file or directory [\#795](https://github.com/tj-actions/changed-files/issues/795)
|
||||
- \[BUG\] Please verify that the previous sha is valid, and increase the fetch\_depth to a number higher than 40. [\#790](https://github.com/tj-actions/changed-files/issues/790)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: update test [\#799](https://github.com/tj-actions/changed-files/pull/799) ([jackton1](https://github.com/jackton1))
|
||||
- feat: skip merge-base check for non shallow clones and fallback to using --fork-point [\#798](https://github.com/tj-actions/changed-files/pull/798) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update bug issue template [\#796](https://github.com/tj-actions/changed-files/pull/796) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.3.4 [\#794](https://github.com/tj-actions/changed-files/pull/794) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update readme [\#793](https://github.com/tj-actions/changed-files/pull/793) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.3.4](https://github.com/tj-actions/changed-files/tree/v34.3.4) (2022-11-08)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.3.4)
|
||||
|
||||
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-08)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.3...v34)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.3...v34.3.4)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
@@ -132,7 +210,6 @@
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] diff-sha.sh results in "fatal: ambiguous argument '': unknown revision or path not in the working tree." [\#750](https://github.com/tj-actions/changed-files/issues/750)
|
||||
- \[BUG\] Action failing on PR with "Unable to find merge-base in shallow clone" [\#737](https://github.com/tj-actions/changed-files/issues/737)
|
||||
- \[BUG\] Wrong changed-files returned for forked PRs [\#714](https://github.com/tj-actions/changed-files/issues/714)
|
||||
|
||||
@@ -219,7 +296,7 @@
|
||||
|
||||
## [v34.0.0](https://github.com/tj-actions/changed-files/tree/v34.0.0) (2022-10-25)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v34.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v34.0.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -232,13 +309,13 @@
|
||||
- feat: add support for fetching more history [\#709](https://github.com/tj-actions/changed-files/pull/709) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v33.0.0 [\#707](https://github.com/tj-actions/changed-files/pull/707) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v33](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v33)
|
||||
|
||||
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v33.0.0)
|
||||
|
||||
## [v33](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32...v33)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -257,13 +334,13 @@
|
||||
- chore\(deps\): update tj-actions/verify-changed-files action to v12 [\#696](https://github.com/tj-actions/changed-files/pull/696) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v32.1.2 [\#695](https://github.com/tj-actions/changed-files/pull/695) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v32.1.2](https://github.com/tj-actions/changed-files/tree/v32.1.2) (2022-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32...v32.1.2)
|
||||
|
||||
## [v32](https://github.com/tj-actions/changed-files/tree/v32) (2022-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.1...v32)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v32)
|
||||
|
||||
## [v32.1.2](https://github.com/tj-actions/changed-files/tree/v32.1.2) (2022-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.1...v32.1.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -319,7 +396,7 @@
|
||||
|
||||
## [v32.0.0](https://github.com/tj-actions/changed-files/tree/v32.0.0) (2022-10-06)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v32.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v32.0.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
@@ -330,13 +407,13 @@
|
||||
- chore\(deps\): update actions/checkout action to v3.1.0 [\#669](https://github.com/tj-actions/changed-files/pull/669) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v31.0.3 [\#667](https://github.com/tj-actions/changed-files/pull/667) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v31)
|
||||
|
||||
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31.0.3)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v31.0.3)
|
||||
|
||||
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -376,7 +453,7 @@
|
||||
|
||||
## [v31.0.0](https://github.com/tj-actions/changed-files/tree/v31.0.0) (2022-09-25)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v31.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v31.0.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
@@ -389,13 +466,13 @@
|
||||
- chore: update broken link [\#642](https://github.com/tj-actions/changed-files/pull/642) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v30.0.0 [\#641](https://github.com/tj-actions/changed-files/pull/641) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v30.0.0](https://github.com/tj-actions/changed-files/tree/v30.0.0) (2022-09-24)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v30.0.0)
|
||||
|
||||
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v30)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v30)
|
||||
|
||||
## [v30.0.0](https://github.com/tj-actions/changed-files/tree/v30.0.0) (2022-09-24)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v30.0.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -1860,7 +1937,7 @@
|
||||
|
||||
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v7)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -1876,13 +1953,13 @@
|
||||
- Update tj-actions/sync-release-version action to v8.7 [\#86](https://github.com/tj-actions/changed-files/pull/86) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v6)
|
||||
|
||||
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6.3)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v6.3)
|
||||
|
||||
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
|
||||
22
README.md
22
README.md
@@ -162,7 +162,8 @@ Support this project with a :star:
|
||||
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> |
|
||||
| diff\_relative | string | false | | Exclude changes outside the current<br>directory and show pathnames relative<br>to it. **NOTE:** This requires<br>you to specify the top<br>level directory via the `path`<br>input. |
|
||||
| dir\_names | string | false | `"false"` | Output unique changed directories instead<br>of filenames. **NOTE:** This returns<br>`.` for changed files located<br>in the root of the<br>project. |
|
||||
| fetch\_depth | string | false | `"40"` | Limit depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
|
||||
| dir\_names\_max\_depth | string | false | | Maximum depth of directories to<br>output. e.g test/test1/test2 with max<br>depth of 2 returns test/test1<br> |
|
||||
| fetch\_depth | string | false | `"40"` | Initial depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
|
||||
| files | string | false | | File and directory patterns to<br>detect changes using only these<br>list of file(s) (Defaults to<br>the entire repo) **NOTE:** Multiline<br>file/directory patterns should not include<br>qoutes. |
|
||||
| files\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files` input. |
|
||||
| files\_ignore | string | false | | Ignore changes to these file(s)<br>**NOTE:** Multiline file/directory patterns should<br>not include qoutes. |
|
||||
@@ -336,8 +337,7 @@ See [outputs](#outputs) for a list of all available outputs.
|
||||
id: changed-files-specific-source-file
|
||||
uses: tj-actions/changed-files@v34
|
||||
with:
|
||||
files_from_source_file: |
|
||||
test/changed-files-list.txt
|
||||
files_from_source_file: test/changed-files-list.txt
|
||||
...
|
||||
```
|
||||
|
||||
@@ -467,18 +467,17 @@ See [inputs](#inputs) for more information.
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v6
|
||||
|
||||
- uses: nrwl/last-successful-commit-action@v1
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit_push
|
||||
with:
|
||||
branch: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
|
||||
workflow_id: 'test.yml'
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
main-branch-name: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
|
||||
workflow-id: 'test.yml'
|
||||
|
||||
- name: Run changed-files with the commit of the last successful test workflow run
|
||||
id: changed-files-base-sha-push
|
||||
uses: tj-actions/changed-files@v34
|
||||
with:
|
||||
base_sha: ${{ steps.last_successful_commit_push.outputs.commit_hash }}
|
||||
base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
|
||||
...
|
||||
```
|
||||
|
||||
@@ -495,18 +494,17 @@ See [inputs](#inputs) for more information.
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v5
|
||||
|
||||
- uses: nrwl/last-successful-commit-action@v1
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit_pull_request
|
||||
with:
|
||||
branch: ${{ steps.branch-name.outputs.base_ref_branch }} # Get the last successful commit on master or main branch
|
||||
main-branch-name: ${{ steps.branch-name.outputs.base_ref_branch }} # Get the last successful commit on master or main branch
|
||||
workflow_id: 'test.yml'
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Run changed-files with the commit of the last successful test workflow run on main
|
||||
id: changed-files-base-sha-pull-request
|
||||
uses: tj-actions/changed-files@v34
|
||||
with:
|
||||
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.commit_hash }}
|
||||
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
|
||||
...
|
||||
```
|
||||
|
||||
|
||||
@@ -73,12 +73,15 @@ inputs:
|
||||
default: "false"
|
||||
description: "Output unique changed directories instead of filenames. **NOTE:** This returns `.` for changed files located in the root of the project."
|
||||
required: false
|
||||
dir_names_max_depth:
|
||||
description: "Maximum depth of directories to output. e.g test/test1/test2 with max depth of 2 returns test/test1"
|
||||
required: false
|
||||
json:
|
||||
description: "Output list of changed files in a JSON formatted string which can be used for matrix jobs."
|
||||
required: false
|
||||
default: "false"
|
||||
fetch_depth:
|
||||
description: "Limit depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
||||
description: "Initial depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
||||
required: false
|
||||
default: "40"
|
||||
max_fetch_depth:
|
||||
@@ -221,6 +224,7 @@ runs:
|
||||
INPUT_OLD_NEW_FILES_SEPARATOR: ${{ inputs.old_new_files_separator }}
|
||||
INPUT_DIFF_RELATIVE: ${{ inputs.diff_relative }}
|
||||
INPUT_DIR_NAMES: ${{ inputs.dir_names }}
|
||||
INPUT_DIR_NAMES_MAX_DEPTH: ${{ inputs.dir_names_max_depth }}
|
||||
INPUT_JSON: ${{ inputs.json }}
|
||||
INPUT_HAS_CUSTOM_PATTERNS: ${{ steps.glob.outputs.has-custom-patterns }}
|
||||
|
||||
|
||||
66
diff-sha.sh
66
diff-sha.sh
@@ -5,6 +5,8 @@ set -euo pipefail
|
||||
INITIAL_COMMIT="false"
|
||||
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
|
||||
EXTRA_ARGS="--no-tags"
|
||||
PREVIOUS_SHA=""
|
||||
CURRENT_SHA=""
|
||||
|
||||
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
|
||||
EXTRA_ARGS=""
|
||||
@@ -145,6 +147,10 @@ else
|
||||
echo "Running on a pull request event..."
|
||||
TARGET_BRANCH=$GITHUB_BASE_REF
|
||||
CURRENT_BRANCH=$GITHUB_HEAD_REF
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
|
||||
TARGET_BRANCH=$CURRENT_BRANCH
|
||||
fi
|
||||
|
||||
echo "Fetching remote refs..."
|
||||
|
||||
@@ -152,6 +158,9 @@ else
|
||||
# shellcheck disable=SC2086
|
||||
git fetch -u --progress $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH"
|
||||
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 2>/dev/null || true
|
||||
else
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --depth="$INPUT_FETCH_DEPTH" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
|
||||
fi
|
||||
|
||||
echo "::debug::Getting HEAD SHA..."
|
||||
@@ -182,40 +191,20 @@ else
|
||||
echo "::debug::Current SHA: $CURRENT_SHA"
|
||||
fi
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
|
||||
if [[ -f .git/shallow ]]; then
|
||||
depth=$INPUT_FETCH_DEPTH
|
||||
max_depth=$INPUT_MAX_FETCH_DEPTH
|
||||
|
||||
while [ -z "$( git merge-base --fork-point "$TARGET_BRANCH" HEAD )" ] || [ -z "$(git merge-base "$TARGET_BRANCH" HEAD)" ]; do
|
||||
depth=$((depth + 300))
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS --deepen="$depth" origin "$TARGET_BRANCH" HEAD;
|
||||
|
||||
if [[ $depth -gt $max_depth ]]; then
|
||||
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and HEAD"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "::debug::Not a shallow clone, skipping merge-base check."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z $INPUT_BASE_SHA ]]; then
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
|
||||
|
||||
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
# shellcheck disable=SC2046
|
||||
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
else
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
|
||||
|
||||
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA"..."$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
|
||||
@@ -230,6 +219,29 @@ else
|
||||
echo "::debug::Target branch: $TARGET_BRANCH"
|
||||
echo "::debug::Current branch: $CURRENT_BRANCH"
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
|
||||
if [[ -f .git/shallow ]]; then
|
||||
depth=$INPUT_FETCH_DEPTH
|
||||
max_depth=$INPUT_MAX_FETCH_DEPTH
|
||||
|
||||
while ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA"..."$CURRENT_SHA" 1>/dev/null; do
|
||||
echo "Fetching $depth commits..."
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$depth" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
|
||||
|
||||
if [[ $depth -gt $max_depth ]]; then
|
||||
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_SHA"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
depth=$((depth + 300))
|
||||
done
|
||||
else
|
||||
echo "::debug::Not a shallow clone, skipping merge-base check."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::debug::Verifying the previous commit SHA: $PREVIOUS_SHA"
|
||||
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
||||
|
||||
|
||||
@@ -24,6 +24,31 @@ if [[ -n $INPUT_DIFF_RELATIVE ]]; then
|
||||
git config --global diff.relative "$INPUT_DIFF_RELATIVE"
|
||||
fi
|
||||
|
||||
function get_dirname_max_depth() {
|
||||
while IFS='' read -r line; do
|
||||
local dir="$line"
|
||||
local dirs=()
|
||||
IFS='/' read -ra dirs <<<"$dir"
|
||||
|
||||
local max_depth=${#dirs[@]}
|
||||
local input_dir_names_max_depth="${INPUT_DIR_NAMES_MAX_DEPTH:-$max_depth}"
|
||||
|
||||
if [[ -n "$input_dir_names_max_depth" && "$input_dir_names_max_depth" -lt "$max_depth" ]]; then
|
||||
max_depth="$input_dir_names_max_depth"
|
||||
fi
|
||||
|
||||
local output="${dirs[0]}"
|
||||
local depth="1"
|
||||
|
||||
while [ "$depth" -lt "$max_depth" ]; do
|
||||
output="$output/${dirs[${depth}]}"
|
||||
depth=$((depth + 1))
|
||||
done
|
||||
|
||||
echo "$output"
|
||||
done < <(uniq)
|
||||
}
|
||||
|
||||
function get_diff() {
|
||||
local base="$1"
|
||||
local sha="$2"
|
||||
@@ -43,17 +68,17 @@ function get_diff() {
|
||||
fi
|
||||
|
||||
if [ -n "$sub_commit_cur" ]; then
|
||||
(
|
||||
cd "$sub" && (
|
||||
# the strange magic number is a hardcoded "empty tree" commit sha
|
||||
get_diff "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" "$filter" | awk -v r="$sub" '{ print "" r "/" $0}'
|
||||
(
|
||||
cd "$sub" && (
|
||||
# the strange magic number is a hardcoded "empty tree" commit sha
|
||||
get_diff "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" "$filter" | awk -v r="$sub" '{ print "" r "/" $0}'
|
||||
)
|
||||
)
|
||||
)
|
||||
fi
|
||||
done < <(git submodule | awk '{print $2}')
|
||||
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" | xargs -I {} dirname {} | uniq && exit_status=$? || exit_status=$?
|
||||
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" | xargs -I {} dirname {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get changed directories between: $base$DIFF$sha"
|
||||
@@ -80,24 +105,24 @@ function get_renames() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
|
||||
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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}'
|
||||
(
|
||||
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}')
|
||||
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | uniq && exit_status=$? || exit_status=$?
|
||||
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get renamed directories between: $base → $sha"
|
||||
@@ -145,19 +170,19 @@ if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" ]]; then
|
||||
ALL_OLD_NEW_RENAMED=$(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 | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
|
||||
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@@ -183,13 +208,13 @@ else
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=any_changed::true"
|
||||
else
|
||||
echo "any_changed=true" >> "$GITHUB_OUTPUT"
|
||||
echo "any_changed=true" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
else
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=any_changed::false"
|
||||
else
|
||||
echo "any_changed=false" >> "$GITHUB_OUTPUT"
|
||||
echo "any_changed=false" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -197,7 +222,7 @@ else
|
||||
|
||||
if [[ -n $ALL_OTHER_CHANGED ]]; then
|
||||
if [[ -n "$ALL_CHANGED" ]]; then
|
||||
OTHER_CHANGED=$(echo "${ALL_OTHER_CHANGED}|${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
OTHER_CHANGED=$(echo "${ALL_OTHER_CHANGED}|${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
OTHER_CHANGED=$ALL_OTHER_CHANGED
|
||||
fi
|
||||
@@ -216,15 +241,15 @@ else
|
||||
echo "::set-output name=only_changed::false"
|
||||
echo "::set-output name=other_changed_files::$OTHER_CHANGED"
|
||||
else
|
||||
echo "only_changed=false" >> "$GITHUB_OUTPUT"
|
||||
echo "other_changed_files=$OTHER_CHANGED" >> "$GITHUB_OUTPUT"
|
||||
echo "only_changed=false" >>"$GITHUB_OUTPUT"
|
||||
echo "other_changed_files=$OTHER_CHANGED" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
elif [[ -n "${ALL_CHANGED}" ]]; then
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=only_changed::true"
|
||||
else
|
||||
echo "only_changed=true" >> "$GITHUB_OUTPUT"
|
||||
echo "only_changed=true" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -235,13 +260,13 @@ else
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=any_modified::true"
|
||||
else
|
||||
echo "any_modified=true" >> "$GITHUB_OUTPUT"
|
||||
echo "any_modified=true" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
else
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=any_modified::false"
|
||||
else
|
||||
echo "any_modified=false" >> "$GITHUB_OUTPUT"
|
||||
echo "any_modified=false" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -249,7 +274,7 @@ else
|
||||
|
||||
if [[ -n $ALL_OTHER_MODIFIED ]]; then
|
||||
if [[ -n "$ALL_MODIFIED" ]]; then
|
||||
OTHER_MODIFIED=$(echo "${ALL_OTHER_MODIFIED}|${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
OTHER_MODIFIED=$(echo "${ALL_OTHER_MODIFIED}|${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
OTHER_MODIFIED=$ALL_OTHER_MODIFIED
|
||||
fi
|
||||
@@ -268,14 +293,14 @@ else
|
||||
echo "::set-output name=only_modified::false"
|
||||
echo "::set-output name=other_modified_files::$OTHER_MODIFIED"
|
||||
else
|
||||
echo "only_modified=false" >> "$GITHUB_OUTPUT"
|
||||
echo "other_modified_files=$OTHER_MODIFIED" >> "$GITHUB_OUTPUT"
|
||||
echo "only_modified=false" >>"$GITHUB_OUTPUT"
|
||||
echo "other_modified_files=$OTHER_MODIFIED" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
elif [[ -n "${ALL_MODIFIED}" ]]; then
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=only_modified::true"
|
||||
else
|
||||
echo "only_modified=true" >> "$GITHUB_OUTPUT"
|
||||
echo "only_modified=true" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -286,13 +311,13 @@ else
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=any_deleted::true"
|
||||
else
|
||||
echo "any_deleted=true" >> "$GITHUB_OUTPUT"
|
||||
echo "any_deleted=true" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
else
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=any_deleted::false"
|
||||
else
|
||||
echo "any_deleted=false" >> "$GITHUB_OUTPUT"
|
||||
echo "any_deleted=false" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -318,14 +343,14 @@ else
|
||||
echo "::set-output name=only_deleted::false"
|
||||
echo "::set-output name=other_deleted_files::$OTHER_DELETED"
|
||||
else
|
||||
echo "only_deleted=false" >> "$GITHUB_OUTPUT"
|
||||
echo "other_deleted_files=$OTHER_DELETED" >> "$GITHUB_OUTPUT"
|
||||
echo "only_deleted=false" >>"$GITHUB_OUTPUT"
|
||||
echo "other_deleted_files=$OTHER_DELETED" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
elif [[ -n "${DELETED}" ]]; then
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=only_deleted::true"
|
||||
else
|
||||
echo "only_deleted=true" >> "$GITHUB_OUTPUT"
|
||||
echo "only_deleted=true" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
if [[ "$INPUT_JSON" == "false" ]]; then
|
||||
@@ -383,7 +408,7 @@ if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=all_changed_files::$ALL_CHANGED"
|
||||
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
|
||||
else
|
||||
cat <<EOF >> "$GITHUB_OUTPUT"
|
||||
cat <<EOF >>"$GITHUB_OUTPUT"
|
||||
added_files=$ADDED
|
||||
copied_files=$COPIED
|
||||
deleted_files=$DELETED
|
||||
@@ -402,7 +427,7 @@ if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
|
||||
if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=all_old_new_renamed_files::$ALL_OLD_NEW_RENAMED"
|
||||
else
|
||||
echo "all_old_new_renamed_files=$ALL_OLD_NEW_RENAMED" >> "$GITHUB_OUTPUT"
|
||||
echo "all_old_new_renamed_files=$ALL_OLD_NEW_RENAMED" >>"$GITHUB_OUTPUT"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
"prConcurrentLimit": 5,
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"addLabels": [
|
||||
"dependencies"
|
||||
"dependencies",
|
||||
"merge when passing"
|
||||
],
|
||||
"assignees": [
|
||||
"jackton1"
|
||||
|
||||
@@ -1 +1 @@
|
||||
This is a test file.
|
||||
This is a test file
|
||||
|
||||
1
test/test2/test.txt
Normal file
1
test/test2/test.txt
Normal file
@@ -0,0 +1 @@
|
||||
Lorem ipsum dolor sit amet, consectetur adip eget, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
1
test/test2/test3/new.txt
Normal file
1
test/test2/test3/new.txt
Normal file
@@ -0,0 +1 @@
|
||||
Test file.
|
||||
1
test/test2/test3/test4/test.txt
Normal file
1
test/test2/test3/test4/test.txt
Normal file
@@ -0,0 +1 @@
|
||||
Test file.
|
||||
Reference in New Issue
Block a user