Compare commits
303 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a331a4999 | ||
|
|
89cf313699 | ||
|
|
e0e0326cc5 | ||
|
|
ca6650c514 | ||
|
|
bda7fb2353 | ||
|
|
74338865c1 | ||
|
|
b477871310 | ||
|
|
598d24527e | ||
|
|
6498ab1ae4 | ||
|
|
8aea4cfc19 | ||
|
|
55362b9d1b | ||
|
|
e47c489b15 | ||
|
|
5e3c67ab60 | ||
|
|
3253948ff2 | ||
|
|
0e4863b3a2 | ||
|
|
10999da6dc | ||
|
|
07dba6b85d | ||
|
|
ab710fb168 | ||
|
|
cec01b8d1d | ||
|
|
8efe373530 | ||
|
|
123da80395 | ||
|
|
ab5069cbb1 | ||
|
|
eebd3f0a07 | ||
|
|
a2ffc56365 | ||
|
|
58afb05fef | ||
|
|
fe5db36271 | ||
|
|
5982c92676 | ||
|
|
4d6ed243ff | ||
|
|
adb9fa830d | ||
|
|
73246a42b0 | ||
|
|
65a49b917f | ||
|
|
5e8b123b3d | ||
|
|
6164e1cd7f | ||
|
|
4dc0f1f904 | ||
|
|
b4d152a6a5 | ||
|
|
f0fc230482 | ||
|
|
cb2d527650 | ||
|
|
68f10de3ea | ||
|
|
d5414fd30b | ||
|
|
608b7f81de | ||
|
|
a4b2b85206 | ||
|
|
adde7bbfea | ||
|
|
85bd8694a9 | ||
|
|
4dce8843f8 | ||
|
|
7f2aa19bdc | ||
|
|
4ffc815953 | ||
|
|
210cc839c2 | ||
|
|
2c684aedfa | ||
|
|
2703edcc41 | ||
|
|
1a3ea1d324 | ||
|
|
db3ea27a0c | ||
|
|
fc6ac10d4c | ||
|
|
08f351ba16 | ||
|
|
aae4005247 | ||
|
|
eb97e78971 | ||
|
|
35d9bb6ce9 | ||
|
|
ce8c198347 | ||
|
|
1982157b6c | ||
|
|
dddfbd694c | ||
|
|
41ed98fdd5 | ||
|
|
966bc5f420 | ||
|
|
ddcadfd11d | ||
|
|
299748b520 | ||
|
|
57d9664f8e | ||
|
|
653adcf614 | ||
|
|
019dd18a51 | ||
|
|
235067705e | ||
|
|
f487fc6c7b | ||
|
|
0953088baa | ||
|
|
ddc065bac8 | ||
|
|
82b26d6c01 | ||
|
|
c54e638a31 | ||
|
|
e7bcef0f0b | ||
|
|
6f8a32e362 | ||
|
|
0562b9f865 | ||
|
|
be519638b0 | ||
|
|
596fc641d0 | ||
|
|
c0c2634976 | ||
|
|
5ac4c9fe42 | ||
|
|
93ae7c6b6a | ||
|
|
ca8881ae34 | ||
|
|
487675b843 | ||
|
|
988322a381 | ||
|
|
30649ae7e0 | ||
|
|
52c733bd7b | ||
|
|
e6a750f507 | ||
|
|
b1a4c25c63 | ||
|
|
15be594e99 | ||
|
|
5af8560e3b | ||
|
|
ef3b39a58e | ||
|
|
a7850c2ddb | ||
|
|
9a6dabf8d1 | ||
|
|
4f9f822a4a | ||
|
|
e5ceb2cea2 | ||
|
|
238f44e1cf | ||
|
|
dc4c7d50aa | ||
|
|
ebf889a3b1 | ||
|
|
45c8d9cb88 | ||
|
|
19b584354a | ||
|
|
7839ede089 | ||
|
|
15cb0ce053 | ||
|
|
c50c1e0f0c | ||
|
|
b6c440bf6f | ||
|
|
c2296c1b04 | ||
|
|
bacda0ec4f | ||
|
|
ea251d4d2f | ||
|
|
41e8587ad1 | ||
|
|
6159d43b91 | ||
|
|
83eb7d0871 | ||
|
|
e80b1c7e65 | ||
|
|
4c09115926 | ||
|
|
3f78288717 | ||
|
|
1d1287f9fa | ||
|
|
613e474ee0 | ||
|
|
8125192be8 | ||
|
|
d5d55864de | ||
|
|
508ea1fe11 | ||
|
|
dbfd5e10a7 | ||
|
|
4ca6f666de | ||
|
|
20abff4daa | ||
|
|
011c918754 | ||
|
|
71a44a5c8c | ||
|
|
42b8312161 | ||
|
|
99639db2ad | ||
|
|
392359fc8c | ||
|
|
b4afd867a1 | ||
|
|
171fd357a8 | ||
|
|
232c8a3b69 | ||
|
|
8fb979df89 | ||
|
|
7f33882a12 | ||
|
|
8aef40ac80 | ||
|
|
7fcaecbe85 | ||
|
|
8bb2cb2854 | ||
|
|
088336658d | ||
|
|
57f3d32fad | ||
|
|
d09f11f8d0 | ||
|
|
7e8d87b891 | ||
|
|
ee6a0bc6dc | ||
|
|
1d8a2f9137 | ||
|
|
8a5f6280e6 | ||
|
|
61648e78ea | ||
|
|
2693e63ae2 | ||
|
|
ed82d95e3a | ||
|
|
0626c3f940 | ||
|
|
83952deb06 | ||
|
|
c4bb28b25e | ||
|
|
a2b1e5dbb9 | ||
|
|
349b9cd596 | ||
|
|
565ad867fa | ||
|
|
d984765c3c | ||
|
|
f25e6fe945 | ||
|
|
110b9baa5f | ||
|
|
d2f7657e17 | ||
|
|
a5b3ab3adf | ||
|
|
b04bee68cb | ||
|
|
5a415cfa17 | ||
|
|
dac1573a9f | ||
|
|
2cb89c14f8 | ||
|
|
0c11739343 | ||
|
|
a8f275909b | ||
|
|
78e918f749 | ||
|
|
e20f763562 | ||
|
|
aa677d9200 | ||
|
|
c763fb03d9 | ||
|
|
e92019659f | ||
|
|
42fb35e835 | ||
|
|
75ea265d3a | ||
|
|
88a778c8d7 | ||
|
|
2f66d3becc | ||
|
|
9ca5762164 | ||
|
|
4f51d4bdf2 | ||
|
|
3599672c90 | ||
|
|
2b31ed904d | ||
|
|
5db646f3d5 | ||
|
|
f1df99fa1d | ||
|
|
e5cb100651 | ||
|
|
5375720ffa | ||
|
|
4311e06ffd | ||
|
|
f8e9251aac | ||
|
|
b1478017f4 | ||
|
|
1a70916518 | ||
|
|
1bfae76e44 | ||
|
|
85368c0a27 | ||
|
|
901681a010 | ||
|
|
3787560a3d | ||
|
|
a64becde5e | ||
|
|
d6db5b61d1 | ||
|
|
3d674ed245 | ||
|
|
aa0a3c1ae1 | ||
|
|
d5e31f6bc1 | ||
|
|
211879e6d9 | ||
|
|
b75f6c0571 | ||
|
|
4f1ac0562f | ||
|
|
f8f2961361 | ||
|
|
ce4b8e3cba | ||
|
|
ebdb5eac17 | ||
|
|
a4150e3d36 | ||
|
|
4f56809937 | ||
|
|
a377d0ea43 | ||
|
|
483c5e735d | ||
|
|
ba522dd664 | ||
|
|
10aaa531b8 | ||
|
|
394fc25d46 | ||
|
|
76855a1bbe | ||
|
|
6758393645 | ||
|
|
4837447a0b | ||
|
|
78ac3f4d78 | ||
|
|
c3ab8f3936 | ||
|
|
e070e451a6 | ||
|
|
f701d66cbd | ||
|
|
acd99f22a7 | ||
|
|
41bac1e2f7 | ||
|
|
c1b58174f0 | ||
|
|
160c1dacc6 | ||
|
|
550a972358 | ||
|
|
6114375387 | ||
|
|
db14f52900 | ||
|
|
7dd55804cf | ||
|
|
e8733f64fa | ||
|
|
2e7b724f9a | ||
|
|
996300de86 | ||
|
|
9bb7d28e70 | ||
|
|
d574e2b818 | ||
|
|
dccc349e98 | ||
|
|
d4e4d24f9c | ||
|
|
b78225f7de | ||
|
|
6384aa7d7f | ||
|
|
e034ba961f | ||
|
|
40f3d5695f | ||
|
|
8c727bef3c | ||
|
|
7330323a2d | ||
|
|
2b49b75dcb | ||
|
|
a98e4d3169 | ||
|
|
ca4840ce6a | ||
|
|
0a3cc94baa | ||
|
|
237b05158c | ||
|
|
7f75cdb504 | ||
|
|
4bf8a029f7 | ||
|
|
4b6b8eb9e7 | ||
|
|
fd3e44b556 | ||
|
|
1d0bc9880c | ||
|
|
9f3cd20ba2 | ||
|
|
19e86cc60b | ||
|
|
ca30b8500a | ||
|
|
bdfc50c467 | ||
|
|
aabcbcc882 | ||
|
|
6cf9a958b7 | ||
|
|
61361b9cde | ||
|
|
4d1ed48b49 | ||
|
|
58ffe6f792 | ||
|
|
0dbccaa808 | ||
|
|
f195837047 | ||
|
|
bfbf803f41 | ||
|
|
07a1f5a723 | ||
|
|
427b9f931d | ||
|
|
3472a62032 | ||
|
|
f62204d4c7 | ||
|
|
19ecae980a | ||
|
|
8a2dbf5570 | ||
|
|
1d0a36c98e | ||
|
|
760335a2f5 | ||
|
|
70d6677420 | ||
|
|
c789451909 | ||
|
|
6e62cd44dc | ||
|
|
82d305f9fa | ||
|
|
183a9ec343 | ||
|
|
3b6c057cd8 | ||
|
|
e2b21be3d2 | ||
|
|
a7b70fa84d | ||
|
|
7a06bb7247 | ||
|
|
9dc80210cf | ||
|
|
a1a2be24bd | ||
|
|
bb675e1715 | ||
|
|
9e0389c5ae | ||
|
|
9b3a93a0c1 | ||
|
|
a991e1d22a | ||
|
|
0df8efd4d7 | ||
|
|
4f64429e8b | ||
|
|
a73691148f | ||
|
|
cd8e421366 | ||
|
|
32a46ba6ba | ||
|
|
0e4974f191 | ||
|
|
4f939f8e80 | ||
|
|
2405ae6c59 | ||
|
|
49ac42e025 | ||
|
|
9cac2f8ea1 | ||
|
|
6497e8ef99 | ||
|
|
1ae6035162 | ||
|
|
8b8c347ee9 | ||
|
|
bd4ca4c445 | ||
|
|
2a28c9bb7d | ||
|
|
5f902276c1 | ||
|
|
73401b8f0b | ||
|
|
fa300c6aa4 | ||
|
|
79fbc9646d | ||
|
|
eaffc06f9c | ||
|
|
d14a55854a | ||
|
|
01588a88f3 | ||
|
|
c3a1d0574b | ||
|
|
0358232251 | ||
|
|
5bc868d5b5 | ||
|
|
a1893f84b3 | ||
|
|
44d49bc228 |
@@ -159,6 +159,25 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "adonisgarciac",
|
||||
"name": "adonisgarciac",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/71078987?v=4",
|
||||
"profile": "https://github.com/adonisgarciac",
|
||||
"contributions": [
|
||||
"code",
|
||||
"doc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "cfernhout",
|
||||
"name": "Chiel Fernhout",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/22294606?v=4",
|
||||
"profile": "https://github.com/cfernhout",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
||||
1
.github/workflows/manual-test.yml
vendored
1
.github/workflows/manual-test.yml
vendored
@@ -3,6 +3,7 @@ name: Manual Test
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test changed-files
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
name: Manual Matrix Test
|
||||
name: Matrix Test
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
changed-files:
|
||||
@@ -13,16 +16,14 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0 # needed for tj-actions/changed-files
|
||||
fetch-depth: 0
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: ./
|
||||
with:
|
||||
json: true
|
||||
- name: List all changed files
|
||||
run: |
|
||||
echo '${{ steps.changed-files.outputs.all_changed_files }}'
|
||||
|
||||
run: echo '${{ steps.changed-files.outputs.all_changed_files }}'
|
||||
- id: set-matrix
|
||||
run: echo "matrix={\"container\":${{ steps.changed-files.outputs.all_changed_files }}}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
2
.github/workflows/sync-release-version.yml
vendored
2
.github/workflows/sync-release-version.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
paths: |
|
||||
README.md
|
||||
- name: Generate CHANGELOG
|
||||
uses: tj-actions/github-changelog-generator@v1.15
|
||||
uses: tj-actions/github-changelog-generator@v1.17
|
||||
with:
|
||||
output: 'HISTORY.md'
|
||||
- name: Create Pull Request
|
||||
|
||||
216
.github/workflows/test.yml
vendored
216
.github/workflows/test.yml
vendored
@@ -3,19 +3,17 @@ name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- "**"
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
- opened
|
||||
- synchronize
|
||||
- reopened
|
||||
branches:
|
||||
- main
|
||||
pull_request_review:
|
||||
types:
|
||||
- submitted
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
shellcheck:
|
||||
@@ -26,9 +24,7 @@ jobs:
|
||||
- name: Checkout to branch
|
||||
uses: actions/checkout@v3
|
||||
- name: shellcheck
|
||||
uses: reviewdog/action-shellcheck@v1.15
|
||||
with:
|
||||
github_token: ${{ secrets.PAT_TOKEN }}
|
||||
uses: reviewdog/action-shellcheck@v1.17
|
||||
|
||||
test-multiple-repositories:
|
||||
name: Test with multiple repositories
|
||||
@@ -37,7 +33,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
steps:
|
||||
- name: Checkout into dir1
|
||||
uses: actions/checkout@v3
|
||||
@@ -94,7 +90,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -149,7 +145,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -184,7 +180,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -212,8 +208,9 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
fetch-depth: [1, 2]
|
||||
input-fetch_depth: [1, 50]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -224,6 +221,8 @@ jobs:
|
||||
- name: Run changed-files
|
||||
id: changed-files
|
||||
uses: ./
|
||||
with:
|
||||
fetch_depth: ${{ matrix.input-fetch_depth }}
|
||||
|
||||
- name: Show output
|
||||
run: |
|
||||
@@ -238,7 +237,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -290,7 +289,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -335,6 +334,41 @@ jobs:
|
||||
echo "Expected: (failure) got ${{ steps.changed-files-specific.outcome }}"
|
||||
exit 1
|
||||
|
||||
test-submodules:
|
||||
name: Test changed-files with submodule
|
||||
runs-on: ${{ matrix.platform }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Run changed-files with submodule
|
||||
id: changed-files
|
||||
uses: ./
|
||||
with:
|
||||
base_sha: "85bd869"
|
||||
sha: "adde7bb"
|
||||
fetch_depth: 60000
|
||||
|
||||
- name: Verify added files
|
||||
if: steps.changed-files.outputs.added_files != 'test/demo/test/test.txt'
|
||||
run: |
|
||||
echo "Expected: (test/demo/test/test.txt) got ${{ steps.changed-files.outputs.added_files }}"
|
||||
exit 1
|
||||
|
||||
- name: Show output
|
||||
run: |
|
||||
echo "${{ toJSON(steps.changed-files.outputs) }}"
|
||||
shell:
|
||||
bash
|
||||
|
||||
test:
|
||||
name: Test changed-files
|
||||
runs-on: ${{ matrix.platform }}
|
||||
@@ -342,7 +376,7 @@ jobs:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022]
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, windows-2022]
|
||||
fetch-depth: [0, 1]
|
||||
|
||||
steps:
|
||||
@@ -373,6 +407,18 @@ jobs:
|
||||
echo '${{ toJSON(steps.changed-files-since-last-remote-commit.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with write_output_files
|
||||
id: changed-files-write-output-files
|
||||
uses: ./
|
||||
with:
|
||||
json: true
|
||||
write_output_files: true
|
||||
- name: Show output
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-write-output-files.outputs.all_changed_files) }}'
|
||||
cat .github/outputs/all_changed_files.json
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with include_all_old_new_renamed_files
|
||||
id: changed-files-all-old-new-renamed-files
|
||||
uses: ./
|
||||
@@ -438,6 +484,28 @@ jobs:
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with dir_names and dir_names_exclude_root
|
||||
id: changed-files-dir-names-exclude-root
|
||||
uses: ./
|
||||
with:
|
||||
base_sha: dddfbd69
|
||||
sha: ce8c1983
|
||||
fetch_depth: 60000
|
||||
dir_names: "true"
|
||||
dir_names_exclude_root: "true"
|
||||
dir_names_max_depth: "1"
|
||||
- name: Show output
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-dir-names-exclude-root.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Check dir_names output
|
||||
if: steps.changed-files-dir-names-exclude-root.outputs.all_changed_files != '.github'
|
||||
run: |
|
||||
echo "Invalid output: Expected (.github) got (${{ steps.changed-files-dir-names-exclude-root.outputs.all_changed_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with dir_names
|
||||
id: changed-files-dir-names
|
||||
uses: ./
|
||||
@@ -452,9 +520,9 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Check dir_names output
|
||||
if: "!contains(steps.changed-files-dir-names.outputs.all_changed_files, 'test')"
|
||||
if: steps.changed-files-dir-names.outputs.all_changed_files != 'test'
|
||||
run: |
|
||||
echo "Invalid output: Expected to include (test) got (${{ steps.changed-files-dir-names.outputs.all_changed_files }})"
|
||||
echo "Invalid output: Expected (test) got (${{ steps.changed-files-dir-names.outputs.all_changed_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
@@ -473,9 +541,9 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Check dir_names output
|
||||
if: "!contains(steps.changed-files-dir-names-specific.outputs.all_changed_files, 'test')"
|
||||
if: steps.changed-files-dir-names.outputs.all_changed_files != 'test'
|
||||
run: |
|
||||
echo "Invalid output: Expected to include (test) got (${{ steps.changed-files-dir-names-specific.outputs.all_changed_files }})"
|
||||
echo "Invalid output: Expected (test) got (${{ steps.changed-files-dir-names-specific.outputs.all_changed_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
@@ -520,6 +588,18 @@ jobs:
|
||||
echo '${{ toJSON(steps.changed-files-json.outputs.all_changed_files) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with json raw format
|
||||
id: changed-files-json-raw-format
|
||||
uses: ./
|
||||
with:
|
||||
json: true
|
||||
json_raw_format: true
|
||||
- name: Show output
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-json-raw-format.outputs) }}'
|
||||
echo '${{ toJSON(steps.changed-files-json-raw-format.outputs.all_changed_files) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with comma separator
|
||||
id: changed-files-comma
|
||||
uses: ./
|
||||
@@ -838,8 +918,11 @@ jobs:
|
||||
(
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/greetings.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test.txt')
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test2/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test2/test3/test4/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '[test new].txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/greetings.yml')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_changed }}" != "false" ]]; then
|
||||
@@ -860,8 +943,11 @@ jobs:
|
||||
(
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/greetings.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test.txt')
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test2/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test2/test3/test4/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '[test new].txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/greetings.yml')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_modified }}" != "false" ]]; then
|
||||
@@ -878,7 +964,16 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_deleted from source files
|
||||
if: "!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test.txt')"
|
||||
if: |
|
||||
(
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test2/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test2/test3/test4/test.txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, '[test new].txt') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/greetings.yml')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_deleted }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-source-file.outputs.any_deleted }})"
|
||||
@@ -904,7 +999,15 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_changed files comma separator
|
||||
if: "!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'action.yml') && !contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-comma.outputs.all_changed_files, 'test/test.txt')"
|
||||
if: |
|
||||
(
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'test/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'test/test2/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, 'test/test2/test3/test4/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_changed_files, '[test new].txt')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-comma-source-file.outputs.any_changed }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-comma-source-file.outputs.any_changed }})"
|
||||
@@ -913,7 +1016,15 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_modified files comma separator
|
||||
if: "!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-comma.outputs.all_modified_files, 'test/test.txt')"
|
||||
if: |
|
||||
(
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'test/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'test/test2/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, 'test/test2/test3/test4/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.all_modified_files, '[test new].txt')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-comma-source-file.outputs.any_modified }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-comma-source-file.outputs.any_modified }})"
|
||||
@@ -922,7 +1033,15 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_deleted files with comma separator
|
||||
if: "!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-comma.outputs.deleted_files, 'test/test.txt')"
|
||||
if: |
|
||||
(
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'test/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'test/test2/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, 'test/test2/test3/test4/test.txt') &&
|
||||
!contains(steps.changed-files-specific-comma-source-file.outputs.deleted_files, '[test new].txt')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-comma-source-file.outputs.any_deleted }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-comma-source-file.outputs.any_deleted }})"
|
||||
@@ -930,6 +1049,28 @@ jobs:
|
||||
fi
|
||||
shell:
|
||||
bash
|
||||
- name: Get branch name
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v6
|
||||
if: github.event_name == 'pull_request' && matrix.fetch-depth == 0
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed' && matrix.fetch-depth == 0
|
||||
with:
|
||||
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' && matrix.fetch-depth == 0
|
||||
id: changed-files-custom-base-sha
|
||||
uses: ./
|
||||
with:
|
||||
base_sha: ${{ steps.last_successful_commit.outputs.base }}
|
||||
- name: Show output
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed' && matrix.fetch-depth == 0
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-custom-base-sha.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with custom sha
|
||||
id: changed-files-custom-sha
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed'
|
||||
@@ -942,26 +1083,17 @@ jobs:
|
||||
echo '${{ toJSON(steps.changed-files-custom-sha.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Get branch name
|
||||
id: branch-name
|
||||
uses: tj-actions/branch-names@v6
|
||||
if: github.event_name == 'pull_request'
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit
|
||||
- name: Run changed-files with the pull request base sha and head sha
|
||||
id: changed-files-pull-request-base-sha-head-sha
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed'
|
||||
with:
|
||||
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.base }}
|
||||
base_sha: ${{ github.event.pull_request.base.sha }}
|
||||
sha: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Show output
|
||||
if: github.event_name == 'pull_request' && github.event.action != 'closed'
|
||||
if: github.event.action != 'closed'
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-custom-base-sha.outputs) }}'
|
||||
echo '${{ toJSON(steps.changed-files-pull-request-base-sha-head-sha.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Run changed-files with specific files (only-changed)
|
||||
|
||||
10
.github/workflows/update-readme.yml
vendored
10
.github/workflows/update-readme.yml
vendored
@@ -9,18 +9,18 @@ jobs:
|
||||
sync-assets:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.1.0
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Run auto-doc
|
||||
uses: tj-actions/auto-doc@v1.5.0
|
||||
uses: tj-actions/auto-doc@v1
|
||||
|
||||
- name: Run test
|
||||
- name: Run remark
|
||||
uses: tj-actions/remark@v3
|
||||
|
||||
- name: Verify Changed files
|
||||
uses: tj-actions/verify-changed-files@v12
|
||||
uses: tj-actions/verify-changed-files@v13
|
||||
id: verify_changed_files
|
||||
with:
|
||||
files: |
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request
|
||||
if: failure()
|
||||
uses: peter-evans/create-pull-request@v4.2.3
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
base: "main"
|
||||
labels: "merge when passing"
|
||||
|
||||
459
HISTORY.md
459
HISTORY.md
@@ -1,12 +1,397 @@
|
||||
# Changelog
|
||||
|
||||
## [v35.5.4](https://github.com/tj-actions/changed-files/tree/v35.5.4) (2023-02-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35...v35.5.4)
|
||||
|
||||
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-02-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.3...v35)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Failing to retrieve master branch if depth isn't 0 [\#985](https://github.com/tj-actions/changed-files/issues/985)
|
||||
- \[BUG\] action fail with pull request from external branch called master [\#979](https://github.com/tj-actions/changed-files/issues/979)
|
||||
- \[BUG\] fatal: Invalid revision range X..Y when dealing with submodules [\#978](https://github.com/tj-actions/changed-files/issues/978)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Is it possible to get unstaged / modified files? [\#983](https://github.com/tj-actions/changed-files/issues/983)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#984](https://github.com/tj-actions/changed-files/pull/984) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.5.3 [\#982](https://github.com/tj-actions/changed-files/pull/982) ([jackton1](https://github.com/jackton1))
|
||||
- fix: bug getting diff for submodules and fetching more history [\#980](https://github.com/tj-actions/changed-files/pull/980) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.5.3](https://github.com/tj-actions/changed-files/tree/v35.5.3) (2023-02-14)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.2...v35.5.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- Action fails on empty repo or when the specific file pattern is not found [\#976](https://github.com/tj-actions/changed-files/issues/976)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: bug with pr from forks with similar branch names [\#981](https://github.com/tj-actions/changed-files/pull/981) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.5.2 [\#977](https://github.com/tj-actions/changed-files/pull/977) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.5.2](https://github.com/tj-actions/changed-files/tree/v35.5.2) (2023-02-09)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.1...v35.5.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Unsynced target branch changes listed by action in pull requests [\#972](https://github.com/tj-actions/changed-files/issues/972)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: update use of tilde to use caret instead [\#975](https://github.com/tj-actions/changed-files/pull/975) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.5.1 [\#974](https://github.com/tj-actions/changed-files/pull/974) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.5.1](https://github.com/tj-actions/changed-files/tree/v35.5.1) (2023-02-07)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.0...v35.5.1)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Action started failing [\#970](https://github.com/tj-actions/changed-files/issues/970)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: including non branch changes in diff output [\#973](https://github.com/tj-actions/changed-files/pull/973) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update readme [\#971](https://github.com/tj-actions/changed-files/pull/971) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.5.0 [\#969](https://github.com/tj-actions/changed-files/pull/969) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.5.0](https://github.com/tj-actions/changed-files/tree/v35.5.0) (2023-02-01)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.4...v35.5.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Exclude the top-level/root directory when dir\_names="true" [\#965](https://github.com/tj-actions/changed-files/issues/965)
|
||||
- \[Feature\] Exclude Files [\#963](https://github.com/tj-actions/changed-files/issues/963)
|
||||
- \[Feature\] Rename `files` -\> `paths` \[\#tara-label-enhancement\] \[\#tara-label-good first issue\] [\#125](https://github.com/tj-actions/changed-files/issues/125)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] PR between branch and main - unsynced changes appearing in changed files. [\#966](https://github.com/tj-actions/changed-files/issues/966)
|
||||
- ::error::Failed to get current commit for submodule [\#962](https://github.com/tj-actions/changed-files/issues/962)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#968](https://github.com/tj-actions/changed-files/pull/968) ([jackton1](https://github.com/jackton1))
|
||||
- feat: add support for excluding the top level directory [\#967](https://github.com/tj-actions/changed-files/pull/967) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update docs [\#964](https://github.com/tj-actions/changed-files/pull/964) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update reviewdog/action-shellcheck action to v1.17 [\#961](https://github.com/tj-actions/changed-files/pull/961) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.4.4 [\#960](https://github.com/tj-actions/changed-files/pull/960) ([jackton1](https://github.com/jackton1))
|
||||
- chore: code clean up [\#959](https://github.com/tj-actions/changed-files/pull/959) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.4.4](https://github.com/tj-actions/changed-files/tree/v35.4.4) (2023-01-19)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.3...v35.4.4)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Action is evaluating branch instead of sha [\#957](https://github.com/tj-actions/changed-files/issues/957)
|
||||
- \[BUG\] Unable to run on windows self-hosted runner [\#956](https://github.com/tj-actions/changed-files/issues/956)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Comparing differences between tags/releases [\#949](https://github.com/tj-actions/changed-files/issues/949)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: revert change to pull pr branch via the branch name [\#958](https://github.com/tj-actions/changed-files/pull/958) ([jackton1](https://github.com/jackton1))
|
||||
- feat: add guide for retrieving changed files for tags [\#955](https://github.com/tj-actions/changed-files/pull/955) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.4.3 [\#954](https://github.com/tj-actions/changed-files/pull/954) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.4.3](https://github.com/tj-actions/changed-files/tree/v35.4.3) (2023-01-19)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.2...v35.4.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Files not found when not last commit on new branch [\#952](https://github.com/tj-actions/changed-files/issues/952)
|
||||
- \[BUG\] `changed-files` error during run [\#875](https://github.com/tj-actions/changed-files/issues/875)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: handling since last remote commits for the first pr branch commit [\#953](https://github.com/tj-actions/changed-files/pull/953) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.4.2 [\#951](https://github.com/tj-actions/changed-files/pull/951) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.4.2](https://github.com/tj-actions/changed-files/tree/v35.4.2) (2023-01-18)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.1...v35.4.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Unable find a diff between ... [\#944](https://github.com/tj-actions/changed-files/issues/944)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: handle case of invalid file patterns [\#950](https://github.com/tj-actions/changed-files/pull/950) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#948](https://github.com/tj-actions/changed-files/pull/948) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.4.1 [\#946](https://github.com/tj-actions/changed-files/pull/946) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.4.1](https://github.com/tj-actions/changed-files/tree/v35.4.1) (2023-01-11)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.0...v35.4.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Specify base branch, not just base-sha [\#941](https://github.com/tj-actions/changed-files/issues/941)
|
||||
- \[Feature\] Get contents of deleted file [\#938](https://github.com/tj-actions/changed-files/issues/938)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: bug retrieving diff with custom a base sha [\#945](https://github.com/tj-actions/changed-files/pull/945) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#943](https://github.com/tj-actions/changed-files/pull/943) ([jackton1](https://github.com/jackton1))
|
||||
- chore: make since\_last\_remote\_commit optional [\#942](https://github.com/tj-actions/changed-files/pull/942) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.4.0 [\#937](https://github.com/tj-actions/changed-files/pull/937) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.4.0](https://github.com/tj-actions/changed-files/tree/v35.4.0) (2023-01-05)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.2...v35.4.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Skip fetching remote refs for non shallow clones [\#924](https://github.com/tj-actions/changed-files/issues/924)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] v35.3.0 Fails to add \[\] around files when with:json: true [\#926](https://github.com/tj-actions/changed-files/issues/926)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Upgraded to v35.3.2 [\#936](https://github.com/tj-actions/changed-files/pull/936) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#935](https://github.com/tj-actions/changed-files/pull/935) ([jackton1](https://github.com/jackton1))
|
||||
- feat: skip fetching remote refs for non shallow clones [\#934](https://github.com/tj-actions/changed-files/pull/934) ([jackton1](https://github.com/jackton1))
|
||||
- fix: error overriding the base sha [\#933](https://github.com/tj-actions/changed-files/pull/933) ([jackton1](https://github.com/jackton1))
|
||||
- docs: add cfernhout as a contributor for doc [\#932](https://github.com/tj-actions/changed-files/pull/932) ([allcontributors[bot]](https://github.com/apps/allcontributors))
|
||||
- Make example consistent and out of the box usable [\#931](https://github.com/tj-actions/changed-files/pull/931) ([cfernhout](https://github.com/cfernhout))
|
||||
|
||||
## [v35.3.2](https://github.com/tj-actions/changed-files/tree/v35.3.2) (2023-01-05)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.1...v35.3.2)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix\(regression\): invalid json output. [\#930](https://github.com/tj-actions/changed-files/pull/930) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update actions/checkout action to v3.3.0 [\#929](https://github.com/tj-actions/changed-files/pull/929) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.3.1 [\#928](https://github.com/tj-actions/changed-files/pull/928) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.3.1](https://github.com/tj-actions/changed-files/tree/v35.3.1) (2023-01-05)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.0...v35.3.1)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] `files_ignore` used with `files` not ignoring as expected [\#901](https://github.com/tj-actions/changed-files/issues/901)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: json output [\#927](https://github.com/tj-actions/changed-files/pull/927) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.3.0 [\#925](https://github.com/tj-actions/changed-files/pull/925) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.3.0](https://github.com/tj-actions/changed-files/tree/v35.3.0) (2023-01-05)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.2.1...v35.3.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: bug dirnames output [\#923](https://github.com/tj-actions/changed-files/pull/923) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/auto-doc action to v1.7.3 [\#922](https://github.com/tj-actions/changed-files/pull/922) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Updated README.md [\#921](https://github.com/tj-actions/changed-files/pull/921) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#920](https://github.com/tj-actions/changed-files/pull/920) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.2.1 [\#919](https://github.com/tj-actions/changed-files/pull/919) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.2.1](https://github.com/tj-actions/changed-files/tree/v35.2.1) (2023-01-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.2.0...v35.2.1)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] On pull\_request\_review error [\#906](https://github.com/tj-actions/changed-files/issues/906)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#918](https://github.com/tj-actions/changed-files/pull/918) ([jackton1](https://github.com/jackton1))
|
||||
- Bump tj-actions/auto-doc from 1.7.1 to 1.7.2 [\#917](https://github.com/tj-actions/changed-files/pull/917) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||
- chore: update readme [\#916](https://github.com/tj-actions/changed-files/pull/916) ([jackton1](https://github.com/jackton1))
|
||||
- fix: bug running on pull\_request\_review [\#915](https://github.com/tj-actions/changed-files/pull/915) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#914](https://github.com/tj-actions/changed-files/pull/914) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/auto-doc action to v1.7.2 [\#913](https://github.com/tj-actions/changed-files/pull/913) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Updated README.md [\#912](https://github.com/tj-actions/changed-files/pull/912) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/auto-doc action to v1.7.1 [\#911](https://github.com/tj-actions/changed-files/pull/911) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.2.0 [\#910](https://github.com/tj-actions/changed-files/pull/910) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.2.0](https://github.com/tj-actions/changed-files/tree/v35.2.0) (2022-12-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.1.2...v35.2.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: update the test [\#909](https://github.com/tj-actions/changed-files/pull/909) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#908](https://github.com/tj-actions/changed-files/pull/908) ([jackton1](https://github.com/jackton1))
|
||||
- docs: add adonisgarciac as a contributor for code, and doc [\#907](https://github.com/tj-actions/changed-files/pull/907) ([allcontributors[bot]](https://github.com/apps/allcontributors))
|
||||
- Upgraded to v35.1.2 [\#905](https://github.com/tj-actions/changed-files/pull/905) ([jackton1](https://github.com/jackton1))
|
||||
- add raw-output option for json output [\#900](https://github.com/tj-actions/changed-files/pull/900) ([adonisgarciac](https://github.com/adonisgarciac))
|
||||
|
||||
## [v35.1.2](https://github.com/tj-actions/changed-files/tree/v35.1.2) (2022-12-29)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.1.1...v35.1.2)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#904](https://github.com/tj-actions/changed-files/pull/904) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#903](https://github.com/tj-actions/changed-files/pull/903) ([jackton1](https://github.com/jackton1))
|
||||
- feat: add support for excluding matched directories [\#902](https://github.com/tj-actions/changed-files/pull/902) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/github-changelog-generator action to v1.17 [\#899](https://github.com/tj-actions/changed-files/pull/899) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.1.1 [\#898](https://github.com/tj-actions/changed-files/pull/898) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.1.1](https://github.com/tj-actions/changed-files/tree/v35.1.1) (2022-12-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.1.0...v35.1.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Output which file changed from files input [\#895](https://github.com/tj-actions/changed-files/issues/895)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- pipeline failed in tj-action [\#894](https://github.com/tj-actions/changed-files/issues/894)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#897](https://github.com/tj-actions/changed-files/pull/897) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update the default sha [\#896](https://github.com/tj-actions/changed-files/pull/896) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.1.0 [\#892](https://github.com/tj-actions/changed-files/pull/892) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.1.0](https://github.com/tj-actions/changed-files/tree/v35.1.0) (2022-12-19)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.0.1...v35.1.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Output changes to json files in filesystem for processing [\#688](https://github.com/tj-actions/changed-files/issues/688)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#891](https://github.com/tj-actions/changed-files/pull/891) ([jackton1](https://github.com/jackton1))
|
||||
- feat: add support for writing outputs to files [\#890](https://github.com/tj-actions/changed-files/pull/890) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.0.1 [\#889](https://github.com/tj-actions/changed-files/pull/889) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.0.1](https://github.com/tj-actions/changed-files/tree/v35.0.1) (2022-12-19)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.0.0...v35.0.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Changed lines of modified files [\#858](https://github.com/tj-actions/changed-files/issues/858)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: update test [\#888](https://github.com/tj-actions/changed-files/pull/888) ([jackton1](https://github.com/jackton1))
|
||||
- chore: code cleanup [\#887](https://github.com/tj-actions/changed-files/pull/887) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35 [\#886](https://github.com/tj-actions/changed-files/pull/886) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.0.0](https://github.com/tj-actions/changed-files/tree/v35.0.0) (2022-12-19)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.2...v35.0.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Process completed with exit code 1 [\#884](https://github.com/tj-actions/changed-files/issues/884)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- How to see the changed files after the PR is merged ? [\#874](https://github.com/tj-actions/changed-files/issues/874)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#885](https://github.com/tj-actions/changed-files/pull/885) ([jackton1](https://github.com/jackton1))
|
||||
- fix: error retrieving changed files [\#882](https://github.com/tj-actions/changed-files/pull/882) ([jackton1](https://github.com/jackton1))
|
||||
- fix: fail when the merge base is not found [\#879](https://github.com/tj-actions/changed-files/pull/879) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.6.2 [\#878](https://github.com/tj-actions/changed-files/pull/878) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.6.2](https://github.com/tj-actions/changed-files/tree/v34.6.2) (2022-12-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.6.2)
|
||||
|
||||
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.1...v34)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] github actions has depreciated and will remove a feature used in this action 'set-output' see link [\#865](https://github.com/tj-actions/changed-files/issues/865)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: bug using since\_last\_remote\_commit with force push [\#877](https://github.com/tj-actions/changed-files/pull/877) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#876](https://github.com/tj-actions/changed-files/pull/876) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update test [\#873](https://github.com/tj-actions/changed-files/pull/873) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update test dir [\#872](https://github.com/tj-actions/changed-files/pull/872) ([jackton1](https://github.com/jackton1))
|
||||
- chore: remove ubuntu 18.04 from test [\#871](https://github.com/tj-actions/changed-files/pull/871) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#869](https://github.com/tj-actions/changed-files/pull/869) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/verify-changed-files action to v13 [\#868](https://github.com/tj-actions/changed-files/pull/868) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- chore\(deps\): update tj-actions/auto-doc action to v1.6.0 [\#867](https://github.com/tj-actions/changed-files/pull/867) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- feat: fallback to fork-point [\#866](https://github.com/tj-actions/changed-files/pull/866) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.6.1 [\#864](https://github.com/tj-actions/changed-files/pull/864) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.6.1](https://github.com/tj-actions/changed-files/tree/v34.6.1) (2022-12-14)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.0...v34.6.1)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Git fails to authenticate when running locally with nektos/act [\#849](https://github.com/tj-actions/changed-files/issues/849)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#863](https://github.com/tj-actions/changed-files/pull/863) ([jackton1](https://github.com/jackton1))
|
||||
- feat: add support for pulling more history [\#862](https://github.com/tj-actions/changed-files/pull/862) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.6.0 [\#861](https://github.com/tj-actions/changed-files/pull/861) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.6.0](https://github.com/tj-actions/changed-files/tree/v34.6.0) (2022-12-14)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.4...v34.6.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] changed-files-diff-sha prints thousands of lines and takes two minutes to run [\#855](https://github.com/tj-actions/changed-files/issues/855)
|
||||
- \[BUG\] \(v34.5.4\) Input does not meet YAML 1.2 "Core Schema" specification: head-repo-fork [\#853](https://github.com/tj-actions/changed-files/issues/853)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: error with retrieving changed files for closed prs [\#860](https://github.com/tj-actions/changed-files/pull/860) ([jackton1](https://github.com/jackton1))
|
||||
- fix: error detecting changed files for closed PR's [\#859](https://github.com/tj-actions/changed-files/pull/859) ([jackton1](https://github.com/jackton1))
|
||||
- fix: bug-changed-files-diff-sha-prints-thousands-of-lines-and-takes-two-minutes-to-run [\#857](https://github.com/tj-actions/changed-files/pull/857) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update reviewdog/action-shellcheck action to v1.16 [\#856](https://github.com/tj-actions/changed-files/pull/856) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Updated README.md [\#854](https://github.com/tj-actions/changed-files/pull/854) ([jackton1](https://github.com/jackton1))
|
||||
- Updated README.md [\#852](https://github.com/tj-actions/changed-files/pull/852) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.5.4 [\#851](https://github.com/tj-actions/changed-files/pull/851) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update actions/checkout action to v3.2.0 [\#850](https://github.com/tj-actions/changed-files/pull/850) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
|
||||
## [v34.5.4](https://github.com/tj-actions/changed-files/tree/v34.5.4) (2022-12-12)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.3...v34.5.4)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: update readme [\#848](https://github.com/tj-actions/changed-files/pull/848) ([jackton1](https://github.com/jackton1))
|
||||
- chore: update error handling [\#847](https://github.com/tj-actions/changed-files/pull/847) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.5.3 [\#846](https://github.com/tj-actions/changed-files/pull/846) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.5.3](https://github.com/tj-actions/changed-files/tree/v34.5.3) (2022-12-10)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.5.3)
|
||||
|
||||
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-10)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.2...v34)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.2...v34.5.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -42,10 +427,6 @@
|
||||
- \[BUG\] Glob not matching changed files [\#829](https://github.com/tj-actions/changed-files/issues/829)
|
||||
- \[BUG\] Wrong changed-files returned for forked PRs [\#714](https://github.com/tj-actions/changed-files/issues/714)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updated README.md [\#838](https://github.com/tj-actions/changed-files/pull/838) ([jackton1](https://github.com/jackton1))
|
||||
@@ -167,7 +548,7 @@
|
||||
|
||||
## [v34.3.3](https://github.com/tj-actions/changed-files/tree/v34.3.3) (2022-11-08)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.3)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.2...v34.3.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -182,13 +563,13 @@
|
||||
- chore: update readme [\#784](https://github.com/tj-actions/changed-files/pull/784) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v34.3.2 [\#781](https://github.com/tj-actions/changed-files/pull/781) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v34.3.1](https://github.com/tj-actions/changed-files/tree/v34.3.1) (2022-11-07)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.2...v34.3.1)
|
||||
|
||||
## [v34.3.2](https://github.com/tj-actions/changed-files/tree/v34.3.2) (2022-11-07)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.0...v34.3.2)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.2)
|
||||
|
||||
## [v34.3.1](https://github.com/tj-actions/changed-files/tree/v34.3.1) (2022-11-07)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.0...v34.3.1)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -364,7 +745,7 @@
|
||||
|
||||
## [v34.0.0](https://github.com/tj-actions/changed-files/tree/v34.0.0) (2022-10-25)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v34.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v34.0.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -377,13 +758,13 @@
|
||||
- feat: add support for fetching more history [\#709](https://github.com/tj-actions/changed-files/pull/709) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v33.0.0 [\#707](https://github.com/tj-actions/changed-files/pull/707) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v33.0.0)
|
||||
|
||||
## [v33](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32...v33)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v33)
|
||||
|
||||
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33.0.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -402,13 +783,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](https://github.com/tj-actions/changed-files/tree/v32) (2022-10-16)
|
||||
|
||||
[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)
|
||||
[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)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -470,7 +851,7 @@
|
||||
|
||||
- Updated README.md [\#674](https://github.com/tj-actions/changed-files/pull/674) ([jackton1](https://github.com/jackton1))
|
||||
- add kostiantyn-korniienko-aurea as a contributor for doc [\#673](https://github.com/tj-actions/changed-files/pull/673) ([allcontributors[bot]](https://github.com/apps/allcontributors))
|
||||
- TYPO fix [\#671](https://github.com/tj-actions/changed-files/pull/671) ([kostiantyn-korniienko-aurea](https://github.com/kostiantyn-korniienko-aurea))
|
||||
- TYPO fix [\#671](https://github.com/tj-actions/changed-files/pull/671) ([kostiantyn-korniienko](https://github.com/kostiantyn-korniienko))
|
||||
- chore\(deps\): update tj-actions/glob action to v14 [\#670](https://github.com/tj-actions/changed-files/pull/670) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- 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))
|
||||
@@ -1421,7 +1802,7 @@
|
||||
|
||||
## [v13](https://github.com/tj-actions/changed-files/tree/v13) (2022-02-17)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.2...v13)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v2.0.1...v13)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
@@ -1440,13 +1821,13 @@
|
||||
- \[BUG\] wrong result of any\_change output [\#314](https://github.com/tj-actions/changed-files/issues/314)
|
||||
- \[BUG\] Investigate possible bug using since\_last\_remote\_commit when force pushing changes. [\#303](https://github.com/tj-actions/changed-files/issues/303)
|
||||
|
||||
## [v12.2](https://github.com/tj-actions/changed-files/tree/v12.2) (2021-12-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v2.0.1...v12.2)
|
||||
|
||||
## [v2.0.1](https://github.com/tj-actions/changed-files/tree/v2.0.1) (2021-12-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.1...v2.0.1)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.2...v2.0.1)
|
||||
|
||||
## [v12.2](https://github.com/tj-actions/changed-files/tree/v12.2) (2021-12-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.1...v12.2)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
@@ -1600,7 +1981,7 @@
|
||||
|
||||
## [v1.2.1](https://github.com/tj-actions/changed-files/tree/v1.2.1) (2021-11-08)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.5...v1.2.1)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.2.0...v1.2.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
@@ -1614,13 +1995,13 @@
|
||||
- Update actions/checkout action to v2.4.0 [\#243](https://github.com/tj-actions/changed-files/pull/243) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v11.5 [\#241](https://github.com/tj-actions/changed-files/pull/241) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v11.5](https://github.com/tj-actions/changed-files/tree/v11.5) (2021-10-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.2.0...v11.5)
|
||||
|
||||
## [v1.2.0](https://github.com/tj-actions/changed-files/tree/v1.2.0) (2021-10-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.4...v1.2.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.5...v1.2.0)
|
||||
|
||||
## [v11.5](https://github.com/tj-actions/changed-files/tree/v11.5) (2021-10-30)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.4...v11.5)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
|
||||
304
README.md
304
README.md
@@ -1,32 +1,32 @@
|
||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
||||
[](https://github.com/search?o=desc\&q=tj-actions+changed-files+language%3AYAML\&s=\&type=Code)
|
||||
|
||||
[](https://www.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=github.com\&utm_medium=referral\&utm_content=tj-actions/changed-files\&utm_campaign=Badge_Grade)
|
||||
[](https://github.com/tj-actions/changed-files/actions/workflows/test.yml)
|
||||
[](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml)
|
||||
[](https://github.com/search?o=desc\&q=tj-actions+changed-files+language%3AYAML\&s=\&type=Code)
|
||||
|
||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
|
||||
[](#contributors-)
|
||||
[](#contributors-)
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
## changed-files
|
||||
|
||||
Retrieve all changed files and directories relative to the target branch or the last remote commit returning the **absolute paths** from the project root.
|
||||
Retrieve all changed files and directories relative to the target branch or the last remote commit returning the **relative path** from the project root.
|
||||
|
||||
## Features
|
||||
|
||||
* Fast execution (0-2 seconds on average).
|
||||
* Fast execution (0-10 seconds on average).
|
||||
* Easy to debug.
|
||||
* Scales to large repositories.
|
||||
* Git submodules support.
|
||||
* No extra API calls.
|
||||
* Escaped JSON Output which can be used for running matrix jobs based on changed files.
|
||||
* Optionally list only changed directories.
|
||||
* Supports Git submodules.
|
||||
* Escaped JSON output which can be used for running matrix jobs based on changed files.
|
||||
* List changed directories.
|
||||
* Restrict the max depth of changed directories.
|
||||
* Write outputs to files at a specified location for further processing.
|
||||
* Monorepos (Fetches only the last remote commit).
|
||||
* Supports all platforms (Linux, MacOS, Windows).
|
||||
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support
|
||||
@@ -39,6 +39,7 @@ Retrieve all changed files and directories relative to the target branch or the
|
||||
* Restrict change detection to a subset of files and directories:
|
||||
* Boolean output indicating that certain files have been changed.
|
||||
* Using [Glob pattern](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) matching.
|
||||
* Brace expansion.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -48,18 +49,19 @@ Retrieve all changed files and directories relative to the target branch or the
|
||||
> * For monorepos where pulling all the branch history might not be desired, you can omit `fetch-depth` for `pull_request` events.
|
||||
> * For files located in a sub-directory ensure that the pattern specified contains `**/` (globstar) to match any preceding directories or explicitly pass the full path relative to the project root. See: [#314](https://github.com/tj-actions/changed-files/issues/314).
|
||||
> * All multiline inputs should not use double or single qoutes since the value is already a string seperated by a newline character. See [Examples](#examples) for more information.
|
||||
> * Ensure that `persist-credentials` is set to `true` when configuring `actions/checkout` if `fetch-depth` isn't set to `0`.
|
||||
|
||||
```yaml
|
||||
name: CI
|
||||
|
||||
on:
|
||||
# Compare the preceeding commit of main -> to the current commit of the main branch.
|
||||
# (Note: To compare changes between the last pushed commit to the remote main branch set `since_last_remote_commit: true`)
|
||||
# Compare the preceeding commit -> to the current commit of the main branch.
|
||||
# (Note: To compare changes between the current commit to the last pushed remote commit of the main branch set `since_last_remote_commit: true`)
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
# Compare the last commit of main -> to the current commit of a PR branch.
|
||||
# (Note: To compare changes between the last pushed commit to the remote PR branch set `since_last_remote_commit: true`)
|
||||
# Compare the last commit of main -> to the current commit of a PR branch.
|
||||
# (Note: To compare changes between the current commit to the last pushed remote commit of a PR branch set `since_last_remote_commit: true`)
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
@@ -76,7 +78,7 @@ jobs:
|
||||
# Example 1
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
|
||||
- name: List all changed files
|
||||
run: |
|
||||
@@ -87,19 +89,31 @@ jobs:
|
||||
# Example 2
|
||||
- name: Get changed files in the docs folder
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files: |
|
||||
docs/**
|
||||
files: docs/*.{js,html} # Alternatively using: `docs/**` or `docs`
|
||||
|
||||
- name: Run step if any file(s) in the docs folder change
|
||||
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||
run: |
|
||||
echo "One or more files in the docs folder has changed."
|
||||
echo "List all the files that have changed: ${{ steps.changed-files-specific.outputs.all_changed_files }}"
|
||||
```
|
||||
|
||||
# Example 3
|
||||
- name: Get changed js files excluding the docs folder
|
||||
id: changed-files-excluded
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files: |
|
||||
**/*.js
|
||||
files_ignore: docs/** # Alternatively using: `docs`
|
||||
|
||||
I want to thank everyone supporting and using this project, your are awesome. Special thanks to every contributor.
|
||||
- name: Run step if any other js file(s) change
|
||||
if: steps.changed-files-excluded.outputs.any_changed == 'true'
|
||||
run: |
|
||||
echo "One or more js files not in the doc folder has changed."
|
||||
echo "List all the files that have changed: ${{ steps.changed-files-excluded.outputs.all_changed_files }}"
|
||||
```
|
||||
|
||||
If you feel generous and want to show some extra appreciation:
|
||||
|
||||
@@ -128,29 +142,29 @@ Support this project with a :star:
|
||||
|
||||
<!-- AUTO-DOC-OUTPUT:START - Do not remove or modify this section -->
|
||||
|
||||
| OUTPUT | TYPE | DESCRIPTION |
|
||||
|--------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| added\_files | string | Returns only files that are<br>Added (A). |
|
||||
| all\_changed\_and\_modified\_files | string | Returns all changed and modified<br>files i.e. *a combination of<br>(ACMRDTUX)* |
|
||||
| all\_changed\_files | string | Returns all changed files i.e.<br>*a combination of all added,<br>copied, modified and renamed files<br>(ACMR)* |
|
||||
| all\_modified\_files | string | Returns all changed files i.e.<br>*a combination of all added,<br>copied, modified, renamed and deleted<br>files (ACMRD)*. |
|
||||
| all\_old\_new\_renamed\_files | string | Returns only files that are<br>Renamed and list their old<br>and new names. **NOTE:** This<br>requires setting `include_all_old_new_renamed_files` to `true`<br>(R) |
|
||||
| any\_changed | string | Returns `true` when any of<br>the filenames provided using the<br>`files` input has changed. If<br>no `files` have been specified,an<br>empty string `''` is returned.<br>i.e. *using a combination of<br>all added, copied, modified and<br>renamed files (ACMR)*. |
|
||||
| any\_deleted | string | Returns `true` when any of<br>the filenames provided using the<br>`files` input has been deleted.<br>If no `files` have been<br>specified,an empty string `''` is<br>returned. (D) |
|
||||
| any\_modified | string | Returns `true` when any of<br>the filenames provided using the<br>`files` input has been modified.<br>If no `files` have been<br>specified,an empty string `''` is<br>returned. i.e. *using a combination<br>of all added, copied, modified,<br>renamed, and deleted files (ACMRD)*.<br> |
|
||||
| copied\_files | string | Returns only files that are<br>Copied (C). |
|
||||
| deleted\_files | string | Returns only files that are<br>Deleted (D). |
|
||||
| modified\_files | string | Returns only files that are<br>Modified (M). |
|
||||
| only\_changed | string | Returns `true` when only files<br>provided using the `files` input<br>has changed. If no `files`<br>have been specified,an empty string<br>`''` is returned. i.e. *using<br>a combination of all added,<br>copied, modified and renamed files<br>(ACMR)*. |
|
||||
| only\_deleted | string | Returns `true` when only files<br>provided using the `files` input<br>has been deleted. If no<br>`files` have been specified,an empty<br>string `''` is returned. (D)<br> |
|
||||
| only\_modified | string | Returns `true` when only files<br>provided using the `files` input<br>has been modified. If no<br>`files` have been specified,an empty<br>string `''` is returned.(ACMRD). |
|
||||
| other\_changed\_files | string | Returns all other changed files<br>not listed in the files<br>input i.e. *using a combination<br>of all added, copied, modified<br>and renamed files (ACMR)*. |
|
||||
| other\_deleted\_files | string | Returns all other deleted files<br>not listed in the files<br>input i.e. *a combination of<br>all deleted files (D)* |
|
||||
| other\_modified\_files | string | Returns all other modified files<br>not listed in the files<br>input i.e. *a combination of<br>all added, copied, modified, and<br>deleted files (ACMRD)* |
|
||||
| renamed\_files | string | Returns only files that are<br>Renamed (R). |
|
||||
| type\_changed\_files | string | Returns only files that have<br>their file type changed (T).<br> |
|
||||
| unknown\_files | string | Returns only files that are<br>Unknown (X). |
|
||||
| unmerged\_files | string | Returns only files that are<br>Unmerged (U). |
|
||||
| OUTPUT | TYPE | DESCRIPTION |
|
||||
|--------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| added\_files | string | Returns only files that are Added<br>(A). |
|
||||
| all\_changed\_and\_modified\_files | string | Returns all changed and modified files<br>i.e. *a combination of (ACMRDTUX)* |
|
||||
| all\_changed\_files | string | Returns all changed files i.e. *a<br> combination of all added, copied, modified<br>and renamed files (ACMR)* |
|
||||
| all\_modified\_files | string | Returns all changed files i.e. *a<br> combination of all added, copied, modified,<br>renamed and deleted files (ACMRD)*. |
|
||||
| all\_old\_new\_renamed\_files | string | Returns only files that are Renamed<br> and list their old and new<br> names. **NOTE:** This requires setting `include_all_old_new_renamed_files`<br>to `true` (R) |
|
||||
| any\_changed | string | Returns `true` when any of the<br> filenames provided using the `files` input<br> has changed. If no `files` have<br> been specified,an empty string `''` is<br> returned. i.e. *using a combination of<br> all added, copied, modified and renamed<br>files (ACMR)*. |
|
||||
| any\_deleted | string | Returns `true` when any of the<br> filenames provided using the `files` input<br> has been deleted. If no `files`<br> have been specified,an empty string `''`<br>is returned. (D) |
|
||||
| any\_modified | string | Returns `true` when any of the<br> filenames provided using the `files` input<br> has been modified. If no `files`<br> have been specified,an empty string `''`<br> is returned. i.e. *using a combination<br> of all added, copied, modified, renamed,<br>and deleted files (ACMRD)*. |
|
||||
| copied\_files | string | Returns only files that are Copied<br>(C). |
|
||||
| deleted\_files | string | Returns only files that are Deleted<br>(D). |
|
||||
| modified\_files | string | Returns only files that are Modified<br>(M). |
|
||||
| only\_changed | string | Returns `true` when only files provided<br> using the `files` input has changed.<br> If no `files` have been specified,an<br> empty string `''` is returned. i.e.<br> *using a combination of all added,<br>copied, modified and renamed files (ACMR)*. |
|
||||
| only\_deleted | string | Returns `true` when only files provided<br> using the `files` input has been<br> deleted. If no `files` have been<br> specified,an empty string `''` is returned.<br>(D) |
|
||||
| only\_modified | string | Returns `true` when only files provided<br> using the `files` input has been<br> modified. If no `files` have been<br>specified,an empty string `''` is returned.(ACMRD). |
|
||||
| other\_changed\_files | string | Returns all other changed files not<br> listed in the files input i.e.<br> *using a combination of all added,<br>copied, modified and renamed files (ACMR)*. |
|
||||
| other\_deleted\_files | string | Returns all other deleted files not<br> listed in the files input i.e.<br> *a combination of all deleted files<br>(D)* |
|
||||
| other\_modified\_files | string | Returns all other modified files not<br> listed in the files input i.e.<br> *a combination of all added, copied,<br>modified, and deleted files (ACMRD)* |
|
||||
| renamed\_files | string | Returns only files that are Renamed<br>(R). |
|
||||
| type\_changed\_files | string | Returns only files that have their<br>file type changed (T). |
|
||||
| unknown\_files | string | Returns only files that are Unknown<br>(X). |
|
||||
| unmerged\_files | string | Returns only files that are Unmerged<br>(U). |
|
||||
|
||||
<!-- AUTO-DOC-OUTPUT:END -->
|
||||
|
||||
@@ -158,31 +172,35 @@ Support this project with a :star:
|
||||
|
||||
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
|
||||
|
||||
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|
||||
|-----------------------------------|--------|----------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> |
|
||||
| diff\_relative | string | false | | Exclude changes outside the current<br>directory and show path names<br>relative to it. **NOTE:** This<br>requires you to specify the<br>top level directory via the<br>`path` 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. |
|
||||
| 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>quotes. |
|
||||
| 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 quotes. |
|
||||
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files_ignore` input |
|
||||
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the<br>`files-ignore` input |
|
||||
| files\_separator | string | false | `"\n"` | Separator used to split the<br>`files` input |
|
||||
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this<br>can generate a large output<br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
|
||||
| json | string | false | `"false"` | Output list of changed files<br>in a JSON formatted string<br>which can be used for<br>matrix jobs. |
|
||||
| max\_fetch\_depth | string | false | `"5000"` | Maximum depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
|
||||
| old\_new\_files\_separator | string | false | `" "` | Split character for old and<br>new renamed filename pairs. |
|
||||
| old\_new\_separator | string | false | `","` | Split character for old and<br>new filename pairs. |
|
||||
| path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> |
|
||||
| quotepath | string | false | `"true"` | Use non ascii characters to<br>match files and output the<br>filenames completely verbatim by setting<br>this to `false` |
|
||||
| separator | string | false | `" "` | Split character for output strings<br> |
|
||||
| sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes |
|
||||
| since | string | false | | Get changed files for commits<br>whose timestamp is older than<br>the given time. |
|
||||
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on<br>the remote branch as the<br>`base_sha`. Defaults to the last<br>non merge commit on the<br>target branch for pull request<br>events and the previous commit<br>of the current branch for<br>push events. |
|
||||
| until | string | false | | Get changed files for commits<br>whose timestamp is earlier than<br>the given time. |
|
||||
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|
||||
|-----------------------------------|--------|----------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| base\_sha | string | false | | Specify a different base commit SHA<br>used for comparing changes |
|
||||
| diff\_relative | string | false | | Exclude changes outside the current directory<br> and show path names relative to<br> it. **NOTE:** This requires you to<br> specify the top level directory via<br>the `path` input. |
|
||||
| dir\_names | string | false | `"false"` | Output unique changed directories instead of<br> filenames. **NOTE:** This returns `.` for<br> changed files located in the root<br>of the project. |
|
||||
| dir\_names\_exclude\_root | string | false | `"false"` | Exclude the root directory represented by<br> `.` from the output when `dir_names`is<br>set to `true`. |
|
||||
| dir\_names\_max\_depth | string | false | | Maximum depth of directories to output.<br> e.g `test/test1/test2` with max depth of<br>`2` returns `test/test1`. |
|
||||
| fetch\_depth | string | false | `"50"` | Depth of additional branch history fetched.<br> **NOTE**: This can be adjusted to<br>resolve errors with insufficient history. |
|
||||
| files | string | false | | File and directory patterns to detect<br> changes using only these list of<br> file(s) (Defaults to the entire repo)<br> **NOTE:** Multiline file/directory patterns should not<br>include quotes. |
|
||||
| files\_from\_source\_file | string | false | | Source file(s) used to populate the<br>`files` input. |
|
||||
| files\_ignore | string | false | | Ignore changes to these file(s) **NOTE:**<br> Multiline file/directory patterns should not include<br>quotes. |
|
||||
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate the<br>`files_ignore` input |
|
||||
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the `files_ignore`<br>input |
|
||||
| files\_separator | string | false | `"\n"` | Separator used to split the `files`<br>input |
|
||||
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this can<br>generate a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
|
||||
| json | string | false | `"false"` | Output list of changed files in<br> a JSON formatted string which can<br>be used for matrix jobs. |
|
||||
| json\_raw\_format | string | false | `"false"` | Output list of changed files in<br> [jq](https://devdocs.io/jq/) raw output format which means that the output will not be<br> surrounded by quotes and special characters<br>will not be escaped. |
|
||||
| match\_directories | string | false | `"true"` | Indicates whether to include match directories |
|
||||
| old\_new\_files\_separator | string | false | `" "` | Split character for old and new<br>renamed filename pairs. |
|
||||
| old\_new\_separator | string | false | `","` | Split character for old and new<br>filename pairs. |
|
||||
| output\_dir | string | false | `".github/outputs"` | Directory to store output files. |
|
||||
| path | string | false | `"."` | Specify a relative path under `$GITHUB_WORKSPACE`<br>to locate the repository. |
|
||||
| quotepath | string | false | `"true"` | Use non ascii characters to match<br> files and output the filenames completely<br>verbatim by setting this to `false` |
|
||||
| separator | string | false | `" "` | Split character for output strings |
|
||||
| sha | string | false | | Specify a different commit SHA used<br>for comparing changes |
|
||||
| since | string | false | | Get changed files for commits whose<br> timestamp is older than the given<br>time. |
|
||||
| since\_last\_remote\_commit | string | false | `"false"` | Use the last commit on the<br> remote branch as the `base_sha`. Defaults<br> to the last non merge commit<br> on the target branch for pull<br> request events and the previous remote<br> commit of the current branch for<br>push events. |
|
||||
| until | string | false | | Get changed files for commits whose<br> timestamp is earlier than the given<br>time. |
|
||||
| write\_output\_files | string | false | `"false"` | Write outputs to files in the<br>`.github/outputs` folder by default. |
|
||||
|
||||
<!-- AUTO-DOC-INPUT:END -->
|
||||
|
||||
@@ -195,7 +213,7 @@ Support this project with a :star:
|
||||
...
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
...
|
||||
```
|
||||
|
||||
@@ -208,7 +226,7 @@ Support this project with a :star:
|
||||
...
|
||||
- name: Get all changed files and use a comma separator in the output
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
separator: ","
|
||||
...
|
||||
@@ -225,8 +243,8 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
|
||||
uses: tj-actions/changed-files@v35
|
||||
|
||||
- name: List all added files
|
||||
run: |
|
||||
for file in ${{ steps.changed-files.outputs.added_files }}; do
|
||||
@@ -246,7 +264,7 @@ See [outputs](#outputs) for a list of all available outputs.
|
||||
...
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
|
||||
- name: Run a step if my-file.txt was modified
|
||||
if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt')
|
||||
@@ -266,7 +284,7 @@ See [outputs](#outputs) for a list of all available outputs.
|
||||
...
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files: |
|
||||
my-file.txt
|
||||
@@ -283,13 +301,13 @@ See [inputs](#inputs) for more information.
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Get all changed files using a list of files and take action base on the changes</summary>
|
||||
<summary>Get all changed files using a list of files and take action based on the changes</summary>
|
||||
|
||||
```yaml
|
||||
...
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files: |
|
||||
my-file.txt
|
||||
@@ -310,16 +328,16 @@ See [inputs](#inputs) for more information.
|
||||
echo "Only files listed above have changed."
|
||||
|
||||
- name: Run step if any of the listed files above is deleted
|
||||
if: steps.changed-files.outputs.any_deleted == 'true'
|
||||
if: steps.changed-files-specific.outputs.any_deleted == 'true'
|
||||
run: |
|
||||
for file in ${{ steps.changed-files.outputs.deleted_files }}; do
|
||||
for file in ${{ steps.changed-files-specific.outputs.deleted_files }}; do
|
||||
echo "$file was deleted"
|
||||
done
|
||||
|
||||
- name: Run step if all listed files above have been deleted
|
||||
if: steps.changed-files.outputs.only_deleted == 'true'
|
||||
if: steps.changed-files-specific.outputs.only_deleted == 'true'
|
||||
run: |
|
||||
for file in ${{ steps.changed-files.outputs.deleted_files }}; do
|
||||
for file in ${{ steps.changed-files-specific.outputs.deleted_files }}; do
|
||||
echo "$file was deleted"
|
||||
done
|
||||
...
|
||||
@@ -336,7 +354,7 @@ See [outputs](#outputs) for a list of all available outputs.
|
||||
...
|
||||
- name: Get changed files using a source file or list of file(s) to populate to files input.
|
||||
id: changed-files-specific-source-file
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files_from_source_file: test/changed-files-list.txt
|
||||
...
|
||||
@@ -353,7 +371,7 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Get changed files using a source file or list of file(s) to populate to files input and optionally specify more files.
|
||||
id: changed-files-specific-source-file-and-specify-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files_from_source_file: |
|
||||
test/changed-files-list.txt
|
||||
@@ -374,7 +392,7 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Get changed files using a different SHA
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
sha: ${{ github.event.pull_request.head.sha }}
|
||||
...
|
||||
@@ -391,7 +409,7 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Get changed files using a different base SHA
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
base_sha: ${{ github.event.pull_request.base.sha }}
|
||||
...
|
||||
@@ -401,6 +419,56 @@ See [inputs](#inputs) for more information.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Get all changed files between the previous tag and the current tag</summary>
|
||||
|
||||
```yaml
|
||||
...
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get Base SHA
|
||||
id: get-base-sha
|
||||
run: |
|
||||
echo "base_sha=$(git rev-parse "$(git tag --sort=-v:refname | head -n 2 | tail -n 1)")" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
base_sha: ${{ steps.get-base-sha.outputs.base_sha }}
|
||||
|
||||
- name: Get changed files in the .github folder
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
base_sha: ${{ steps.get-base-sha.outputs.base_sha }}
|
||||
files: .github/**
|
||||
|
||||
- name: Run step if any file(s) in the .github folder change
|
||||
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||
run: |
|
||||
echo "One or more files in the .github folder has changed."
|
||||
echo "List all the files that have changed: ${{ steps.changed-files-specific.outputs.all_changed_files }}"
|
||||
...
|
||||
```
|
||||
|
||||
See [inputs](#inputs) for more information.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Get all changed files for a repository located in a different path</summary>
|
||||
|
||||
@@ -414,7 +482,7 @@ See [inputs](#inputs) for more information.
|
||||
|
||||
- name: Run changed-files with defaults in dir1
|
||||
id: changed-files-for-dir1
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
path: dir1
|
||||
|
||||
@@ -437,7 +505,7 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Run changed-files with quotepath disabled
|
||||
id: changed-files-quotepath
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
quotepath: "false"
|
||||
|
||||
@@ -471,12 +539,12 @@ See [inputs](#inputs) for more information.
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit_push
|
||||
with:
|
||||
main-branch-name: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
|
||||
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
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
|
||||
...
|
||||
@@ -498,12 +566,12 @@ See [inputs](#inputs) for more information.
|
||||
- uses: nrwl/nx-set-shas@v3
|
||||
id: last_successful_commit_pull_request
|
||||
with:
|
||||
main-branch-name: ${{ 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'
|
||||
|
||||
- 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
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
|
||||
...
|
||||
@@ -527,7 +595,7 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Run changed-files with dir_names
|
||||
id: changed-files-dir-names
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
dir_names: "true"
|
||||
...
|
||||
@@ -544,7 +612,7 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Run changed-files with json output
|
||||
id: changed-files-json
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
json: "true"
|
||||
...
|
||||
@@ -561,13 +629,13 @@ See [inputs](#inputs) for more information.
|
||||
...
|
||||
- name: Get changed-files since 2022-08-19
|
||||
id: changed-files-since
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
since: "2022-08-19"
|
||||
|
||||
- name: Get changed-files until 2022-08-20
|
||||
id: changed-files-until
|
||||
uses: tj-actions/changed-files@v34
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
until: "2022-08-20"
|
||||
...
|
||||
@@ -592,17 +660,53 @@ See [inputs](#inputs) for more information.
|
||||
> However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
|
||||
> 
|
||||
|
||||
## Migration guide
|
||||
|
||||
With the switch from using grep's Extended regex to match files to the natively supported workflow glob pattern matching syntax introduced in [v13](https://github.com/tj-actions/changed-files/releases/tag/v13) you'll need to modify patterns used to match `files`.
|
||||
|
||||
**BEFORE**
|
||||
|
||||
```yml
|
||||
...
|
||||
|
||||
- name: Get specific changed files
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v12.2
|
||||
with:
|
||||
files: |
|
||||
\.sh$
|
||||
.(sql|py)$
|
||||
^(mynewfile|custom)
|
||||
```
|
||||
|
||||
**AFTER**
|
||||
|
||||
```yml
|
||||
...
|
||||
|
||||
- name: Get specific changed files
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v24
|
||||
with:
|
||||
files: |
|
||||
*.sh
|
||||
*.sql
|
||||
*.py
|
||||
mynewfile
|
||||
custom/**
|
||||
```
|
||||
|
||||
## Credits
|
||||
|
||||
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
|
||||
|
||||
* [tj-actions/glob](https://github.com/tj-actions/glob)
|
||||
* [tj-actions/auto-doc](https://github.com/tj-actions/auto-doc)
|
||||
* [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files)
|
||||
* [tj-actions/demo](https://github.com/tj-actions/demo)
|
||||
* [tj-actions/demo2](https://github.com/tj-actions/demo2)
|
||||
* [tj-actions/demo3](https://github.com/tj-actions/demo3)
|
||||
* [tj-actions/release-tagger](https://github.com/tj-actions/release-tagger)
|
||||
* [tj-actions/auto-doc](https://github.com/tj-actions/auto-doc)
|
||||
* [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files)
|
||||
|
||||
## Report Bugs
|
||||
|
||||
@@ -648,6 +752,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<td align="center"><a href="https://github.com/kostiantyn-korniienko-aurea"><img src="https://avatars.githubusercontent.com/u/37180625?v=4?s=100" width="100px;" alt="Kostiantyn Korniienko"/><br /><sub><b>Kostiantyn Korniienko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=kostiantyn-korniienko-aurea" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/lpulley"><img src="https://avatars.githubusercontent.com/u/7193187?v=4?s=100" width="100px;" alt="Logan Pulley"/><br /><sub><b>Logan Pulley</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=lpulley" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://www.linkedin.com/in/kenji-miyake/"><img src="https://avatars.githubusercontent.com/u/31987104?v=4?s=100" width="100px;" alt="Kenji Miyake"/><br /><sub><b>Kenji Miyake</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=kenji-miyake" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/adonisgarciac"><img src="https://avatars.githubusercontent.com/u/71078987?v=4?s=100" width="100px;" alt="adonisgarciac"/><br /><sub><b>adonisgarciac</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=adonisgarciac" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=adonisgarciac" title="Documentation">📖</a></td>
|
||||
<td align="center"><a href="https://github.com/cfernhout"><img src="https://avatars.githubusercontent.com/u/22294606?v=4?s=100" width="100px;" alt="Chiel Fernhout"/><br /><sub><b>Chiel Fernhout</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=cfernhout" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
86
action.yml
86
action.yml
@@ -36,7 +36,7 @@ inputs:
|
||||
required: false
|
||||
default: ""
|
||||
files_ignore_separator:
|
||||
description: "Separator used to split the `files-ignore` input"
|
||||
description: "Separator used to split the `files_ignore` input"
|
||||
default: "\n"
|
||||
required: false
|
||||
files_ignore_from_source_file:
|
||||
@@ -46,7 +46,6 @@ inputs:
|
||||
sha:
|
||||
description: "Specify a different commit SHA used for comparing changes"
|
||||
required: false
|
||||
default: ${{ github.sha }}
|
||||
base_sha:
|
||||
description: "Specify a different base commit SHA used for comparing changes"
|
||||
required: false
|
||||
@@ -76,22 +75,38 @@ inputs:
|
||||
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
|
||||
dir_names_exclude_root:
|
||||
description: "Exclude the root directory represented by `.` from the 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."
|
||||
required: false
|
||||
default: "false"
|
||||
fetch_depth:
|
||||
description: "Initial depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
||||
json_raw_format:
|
||||
description: "Output list of changed files in [jq](https://devdocs.io/jq/) raw output format which means that the output will not be surrounded by quotes and special characters will not be escaped."
|
||||
required: false
|
||||
default: "40"
|
||||
max_fetch_depth:
|
||||
description: "Maximum depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
||||
required: false
|
||||
default: "5000"
|
||||
since_last_remote_commit:
|
||||
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non merge commit on the target branch for pull request events and the previous commit of the current branch for push events."
|
||||
required: true
|
||||
default: "false"
|
||||
fetch_depth:
|
||||
description: "Depth of additional branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
||||
required: false
|
||||
default: "50"
|
||||
since_last_remote_commit:
|
||||
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non merge commit on the target branch for pull request events and the previous remote commit of the current branch for push events."
|
||||
required: false
|
||||
default: "false"
|
||||
write_output_files:
|
||||
description: "Write outputs to files in the `.github/outputs` folder by default."
|
||||
required: false
|
||||
default: "false"
|
||||
output_dir:
|
||||
description: "Directory to store output files."
|
||||
required: false
|
||||
default: ".github/outputs"
|
||||
match_directories:
|
||||
description: "Indicates whether to include match directories"
|
||||
default: "true"
|
||||
required: false
|
||||
|
||||
outputs:
|
||||
added_files:
|
||||
@@ -170,12 +185,15 @@ runs:
|
||||
GITHUB_SERVER_URL: ${{ github.server_url }}
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
GITHUB_REF: ${{ github.ref }}
|
||||
GITHUB_BASE_REF: ${{ github.base_ref }}
|
||||
GITHUB_HEAD_REF: ${{ github.head_ref }}
|
||||
GITHUB_SHA: ${{ github.sha }}
|
||||
GITHUB_WORKSPACE: ${{ github.workspace }}
|
||||
GITHUB_EVENT_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
|
||||
GITHUB_EVENT_PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}
|
||||
GITHUB_EVENT_PULL_REQUEST_BASE_REF: ${{ github.event.pull_request.base.ref }}
|
||||
GITHUB_EVENT_PULL_REQUEST_HEAD_REF: ${{ github.event.pull_request.head.ref }}
|
||||
GITHUB_EVENT_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
GITHUB_EVENT_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
GITHUB_EVENT_PULL_REQUEST_COMMITS: ${{ github.event.pull_request.commits }}
|
||||
GITHUB_EVENT_BEFORE: ${{ github.event.before }}
|
||||
GITHUB_EVENT_FORCED: ${{ github.event.forced }}
|
||||
GITHUB_REFNAME: ${{ github.ref_name }}
|
||||
@@ -187,7 +205,6 @@ runs:
|
||||
INPUT_UNTIL: ${{ inputs.until }}
|
||||
INPUT_PATH: ${{ inputs.path }}
|
||||
INPUT_FETCH_DEPTH: ${{ inputs.fetch_depth }}
|
||||
INPUT_MAX_FETCH_DEPTH: ${{ inputs.max_fetch_depth }}
|
||||
INPUT_SINCE_LAST_REMOTE_COMMIT: ${{ inputs.since_last_remote_commit }}
|
||||
- name: Glob match
|
||||
uses: tj-actions/glob@v16
|
||||
@@ -203,6 +220,8 @@ runs:
|
||||
working-directory: ${{ inputs.path }}
|
||||
base-sha: ${{ steps.changed-files-diff-sha.outputs.previous_sha }}
|
||||
sha: ${{ steps.changed-files-diff-sha.outputs.current_sha }}
|
||||
diff: ${{ steps.changed-files-diff-sha.outputs.diff }}
|
||||
match-directories: ${{ inputs.match_directories }}
|
||||
include-deleted-files: true
|
||||
separator: "|"
|
||||
- run: |
|
||||
@@ -211,8 +230,8 @@ runs:
|
||||
shell: bash
|
||||
env:
|
||||
GITHUB_WORKSPACE: ${{ github.workspace }}
|
||||
GITHUB_BASE_REF: ${{ github.base_ref }}
|
||||
GITHUB_EVENT_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
|
||||
GITHUB_EVENT_PULL_REQUEST_BASE_REF: ${{ github.event.pull_request.base.ref }}
|
||||
GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
|
||||
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
|
||||
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#example-specifying-inputs
|
||||
INPUT_FILES_PATTERN_FILE: ${{ steps.glob.outputs.paths-output-file }}
|
||||
@@ -222,6 +241,7 @@ runs:
|
||||
INPUT_CURRENT_SHA: ${{ steps.changed-files-diff-sha.outputs.current_sha }}
|
||||
INPUT_TARGET_BRANCH: ${{ steps.changed-files-diff-sha.outputs.target_branch }}
|
||||
INPUT_CURRENT_BRANCH: ${{ steps.changed-files-diff-sha.outputs.current_branch }}
|
||||
INPUT_DIFF: ${{ steps.changed-files-diff-sha.outputs.diff }}
|
||||
INPUT_QUOTEPATH: ${{ inputs.quotepath }}
|
||||
INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES: ${{ inputs.include_all_old_new_renamed_files }}
|
||||
INPUT_OLD_NEW_SEPARATOR: ${{ inputs.old_new_separator }}
|
||||
@@ -229,8 +249,40 @@ runs:
|
||||
INPUT_DIFF_RELATIVE: ${{ inputs.diff_relative }}
|
||||
INPUT_DIR_NAMES: ${{ inputs.dir_names }}
|
||||
INPUT_DIR_NAMES_MAX_DEPTH: ${{ inputs.dir_names_max_depth }}
|
||||
INPUT_DIR_NAMES_EXCLUDE_ROOT: ${{ inputs.dir_names_exclude_root }}
|
||||
INPUT_JSON: ${{ inputs.json }}
|
||||
INPUT_HAS_CUSTOM_PATTERNS: ${{ steps.glob.outputs.has-custom-patterns }}
|
||||
INPUT_JSON_RAW_FORMAT: ${{ inputs.json_raw_format }}
|
||||
- name: Generate output files
|
||||
uses: tj-actions/json2file@v1
|
||||
if: inputs.write_output_files == 'true'
|
||||
with:
|
||||
outputs: ${{ toJSON(steps.changed-files.outputs) }}
|
||||
directory: ${{ inputs.output_dir }}
|
||||
skip_missing_keys: true
|
||||
keys: |
|
||||
added_files
|
||||
copied_files
|
||||
deleted_files
|
||||
modified_files
|
||||
renamed_files
|
||||
all_old_new_renamed_files
|
||||
type_changed_files
|
||||
unmerged_files
|
||||
unknown_files
|
||||
all_changed_and_modified_files
|
||||
all_changed_files
|
||||
any_changed
|
||||
only_changed
|
||||
other_changed_files
|
||||
all_modified_files
|
||||
any_modified
|
||||
only_modified
|
||||
other_modified_files
|
||||
any_deleted
|
||||
only_deleted
|
||||
other_deleted_files
|
||||
extension: ${{ steps.changed-files.outputs.outputs_extension }}
|
||||
|
||||
branding:
|
||||
icon: file-text
|
||||
|
||||
126
diff-sha.sh
126
diff-sha.sh
@@ -4,16 +4,18 @@ set -euo pipefail
|
||||
|
||||
INITIAL_COMMIT="false"
|
||||
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
|
||||
EXTRA_ARGS="--no-tags"
|
||||
EXTRA_ARGS="--no-tags --prune --recurse-submodules"
|
||||
PREVIOUS_SHA=""
|
||||
CURRENT_SHA=""
|
||||
DIFF="..."
|
||||
IS_TAG="false"
|
||||
|
||||
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
|
||||
EXTRA_ARGS=""
|
||||
IS_TAG="true"
|
||||
EXTRA_ARGS="--prune --no-recurse-submodules"
|
||||
fi
|
||||
|
||||
if [[ "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
|
||||
if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
|
||||
DIFF=".."
|
||||
fi
|
||||
|
||||
@@ -50,11 +52,19 @@ else
|
||||
echo "Valid git version found: ($GIT_VERSION)"
|
||||
fi
|
||||
|
||||
if [[ -z $GITHUB_BASE_REF ]]; then
|
||||
if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
|
||||
echo "Running on a push event..."
|
||||
TARGET_BRANCH=$GITHUB_REFNAME
|
||||
CURRENT_BRANCH=$TARGET_BRANCH
|
||||
|
||||
if $(git rev-parse --is-shallow-repository); then
|
||||
echo "Fetching remote refs..."
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$CURRENT_BRANCH":refs/remotes/origin/"$CURRENT_BRANCH" 1>/dev/null
|
||||
# shellcheck disable=SC2086
|
||||
git submodule foreach git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" || true
|
||||
fi
|
||||
|
||||
echo "::debug::Getting HEAD SHA..."
|
||||
if [[ -n "$INPUT_UNTIL" ]]; then
|
||||
echo "::debug::Getting HEAD SHA for '$INPUT_UNTIL'..."
|
||||
@@ -66,10 +76,8 @@ if [[ -z $GITHUB_BASE_REF ]]; then
|
||||
fi
|
||||
else
|
||||
if [[ -z $INPUT_SHA ]]; then
|
||||
CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
|
||||
CURRENT_SHA=$(git rev-list -n 1 HEAD) && exit_status=$? || exit_status=$?
|
||||
else
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH"
|
||||
CURRENT_SHA=$INPUT_SHA; exit_status=$?
|
||||
fi
|
||||
fi
|
||||
@@ -99,20 +107,16 @@ if [[ -z $GITHUB_BASE_REF ]]; then
|
||||
PREVIOUS_SHA=""
|
||||
|
||||
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE && exit_status=$? || exit_status=$?
|
||||
else
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
else
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ -z "$PREVIOUS_SHA" ]]; then
|
||||
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
|
||||
fi
|
||||
fi
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
|
||||
PREVIOUS_SHA=$(git rev-parse "$(git branch -r --sort=-committerdate | head -1 | xargs)")
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
|
||||
@@ -131,9 +135,11 @@ if [[ -z $GITHUB_BASE_REF ]]; then
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH"
|
||||
PREVIOUS_SHA=$INPUT_BASE_SHA
|
||||
|
||||
if [[ "$IS_TAG" == "true" ]]; then
|
||||
TARGET_BRANCH=$(git describe --tags "$PREVIOUS_SHA")
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::debug::Target branch $TARGET_BRANCH..."
|
||||
@@ -149,22 +155,24 @@ if [[ -z $GITHUB_BASE_REF ]]; then
|
||||
fi
|
||||
else
|
||||
echo "Running on a pull request event..."
|
||||
TARGET_BRANCH=$GITHUB_BASE_REF
|
||||
CURRENT_BRANCH=$GITHUB_HEAD_REF
|
||||
TARGET_BRANCH=$GITHUB_EVENT_PULL_REQUEST_BASE_REF
|
||||
CURRENT_BRANCH=$GITHUB_EVENT_PULL_REQUEST_HEAD_REF
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
|
||||
TARGET_BRANCH=$CURRENT_BRANCH
|
||||
fi
|
||||
|
||||
echo "Fetching remote refs..."
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
|
||||
if $(git rev-parse --is-shallow-repository); then
|
||||
echo "Fetching remote refs..."
|
||||
# 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"
|
||||
git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_PULL_REQUEST_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" != "true" ]]; then
|
||||
echo "::debug::Fetching remote target branch..."
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null
|
||||
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 1>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::debug::Getting HEAD SHA..."
|
||||
@@ -178,7 +186,7 @@ else
|
||||
fi
|
||||
else
|
||||
if [[ -z $INPUT_SHA ]]; then
|
||||
CURRENT_SHA=$(git rev-list --no-merges -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
|
||||
CURRENT_SHA=$(git rev-list -n 1 HEAD) && exit_status=$? || exit_status=$?
|
||||
else
|
||||
CURRENT_SHA=$INPUT_SHA; exit_status=$?
|
||||
fi
|
||||
@@ -200,14 +208,26 @@ else
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
|
||||
|
||||
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
|
||||
# shellcheck disable=SC2046
|
||||
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
|
||||
fi
|
||||
else
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
|
||||
|
||||
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
PREVIOUS_SHA=$(git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
|
||||
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
|
||||
|
||||
if $(git rev-parse --is-shallow-repository); then
|
||||
# check if the merge base is in the local history
|
||||
if ! git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
echo "::debug::Merge base is not in the local history, fetching remote target branch..."
|
||||
# Fetch more of the target branch history until the merge base is found
|
||||
for i in {1..10}; do
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null
|
||||
if git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
echo "::debug::Merge base is not in the local history, fetching remote target branch again..."
|
||||
echo "::debug::Attempt $i/10"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -215,36 +235,15 @@ else
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
|
||||
if [[ -f .git/shallow ]]; then
|
||||
depth=$INPUT_FETCH_DEPTH
|
||||
max_depth=$INPUT_MAX_FETCH_DEPTH
|
||||
|
||||
for ((i=0; i<max_depth; i+=depth)); do
|
||||
echo "Fetching $i commits..."
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$i" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
|
||||
|
||||
if git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if ((i >= max_depth)); then
|
||||
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_BRANCH with: $PREVIOUS_SHA$DIFF$CURRENT_SHA"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "::debug::Not a shallow clone, skipping merge-base check."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::debug::Previous SHA: $PREVIOUS_SHA"
|
||||
else
|
||||
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
DIFF=".."
|
||||
fi
|
||||
|
||||
echo "::debug::Target branch: $TARGET_BRANCH"
|
||||
echo "::debug::Current branch: $CURRENT_BRANCH"
|
||||
|
||||
@@ -256,6 +255,11 @@ else
|
||||
echo "::error::Please verify that the previous sha is valid, and increase the fetch_depth to a number higher than $INPUT_FETCH_DEPTH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
echo "::error::Unable to determine a difference between $PREVIOUS_SHA$DIFF$CURRENT_SHA"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" && "$INITIAL_COMMIT" == "false" ]]; then
|
||||
@@ -269,12 +273,14 @@ if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=current_branch::$CURRENT_BRANCH"
|
||||
echo "::set-output name=previous_sha::$PREVIOUS_SHA"
|
||||
echo "::set-output name=current_sha::$CURRENT_SHA"
|
||||
echo "::set-output name=diff::$DIFF"
|
||||
else
|
||||
cat <<EOF >> "$GITHUB_OUTPUT"
|
||||
target_branch=$TARGET_BRANCH
|
||||
current_branch=$CURRENT_BRANCH
|
||||
previous_sha=$PREVIOUS_SHA
|
||||
current_sha=$CURRENT_SHA
|
||||
diff=$DIFF
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
||||
@@ -8,10 +8,12 @@ INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\n'/'%0A'}"
|
||||
INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\r'/'%0D'}"
|
||||
|
||||
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
|
||||
DIFF="..."
|
||||
DIFF=$INPUT_DIFF
|
||||
|
||||
if [[ -z $GITHUB_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
|
||||
DIFF=".."
|
||||
OUTPUTS_EXTENSION="txt"
|
||||
|
||||
if [[ "$INPUT_JSON" == "true" ]]; then
|
||||
OUTPUTS_EXTENSION="json"
|
||||
fi
|
||||
|
||||
if [[ $INPUT_QUOTEPATH == "false" ]]; then
|
||||
@@ -45,52 +47,57 @@ function get_dirname_max_depth() {
|
||||
depth=$((depth + 1))
|
||||
done
|
||||
|
||||
if [[ "$INPUT_DIR_NAMES_EXCLUDE_ROOT" == "true" && "$output" == "." ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "$output"
|
||||
done < <(uniq)
|
||||
}
|
||||
|
||||
function json_output() {
|
||||
local jq_args="-sR"
|
||||
if [[ "$INPUT_JSON_RAW_FORMAT" == "true" ]]; then
|
||||
jq_args="$jq_args -r"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
jq $jq_args 'split("\n") | map(select(. != "")) | @json' | sed -r 's/^"|"$//g' | tr -s /
|
||||
}
|
||||
|
||||
function get_diff() {
|
||||
local base="$1"
|
||||
local sha="$2"
|
||||
local filter="$3"
|
||||
|
||||
while IFS='' read -r sub; do
|
||||
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
|
||||
sub_commit_pre="$(git diff "$base" "$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha"
|
||||
exit 1
|
||||
echo "::warning::Failed to get previous commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
|
||||
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" "$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
|
||||
echo "::warning::Failed to get current commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
|
||||
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}'
|
||||
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | awk -v r="$sub" '{ print "" r "/" $0}' 2>/dev/null
|
||||
)
|
||||
)
|
||||
) || {
|
||||
echo "::warning::Failed to get changed files for submodule ($sub) between: ${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904} ${sub_commit_cur}. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
|
||||
}
|
||||
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 {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
|
||||
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get changed directories between: $base$DIFF$sha"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get changed files between: $base$DIFF$sha"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get changed files between: $base$DIFF$sha" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -99,42 +106,33 @@ function get_renames() {
|
||||
local sha="$2"
|
||||
|
||||
while IFS='' read -r sub; do
|
||||
sub_commit_pre="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
|
||||
sub_commit_pre="$(git diff "$base" "$sha" -- "$sub" | { grep '^[-]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get previous commit for submodule ($sub) between: $base$DIFF$sha"
|
||||
exit 1
|
||||
echo "::warning::Failed to get previous commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
|
||||
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" "$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
|
||||
echo "::warning::Failed to get current commit for submodule ($sub) between: $base $sha. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
|
||||
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}'
|
||||
git log --name-status --ignore-submodules=all "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | awk -v r="$sub" '{ print "" r "/" $0}'
|
||||
)
|
||||
)
|
||||
) || {
|
||||
echo "::warning::Failed to get renamed files for submodule ($sub) between: ${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904} ${sub_commit_cur}. Please ensure that submodules are initialized and up to date. See: https://github.com/actions/checkout#usage" >&2
|
||||
}
|
||||
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 {} | get_dirname_max_depth | 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}' && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get renamed directories between: $base → $sha"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get renamed files between: $base → $sha"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Failed to get renamed files between: $base → $sha" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -153,36 +151,72 @@ fi
|
||||
|
||||
echo "Retrieving changes between $INPUT_PREVIOUS_SHA ($INPUT_TARGET_BRANCH) → $INPUT_CURRENT_SHA ($INPUT_CURRENT_BRANCH)"
|
||||
|
||||
if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" ]]; then
|
||||
if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" || -z "$INPUT_FILES_PATTERN_FILE" ]]; then
|
||||
if [[ "$INPUT_JSON" == "false" ]]; then
|
||||
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
fi
|
||||
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="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
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
|
||||
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 /)
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
else
|
||||
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | json_output)
|
||||
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | json_output)
|
||||
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | json_output)
|
||||
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | json_output)
|
||||
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | json_output)
|
||||
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | json_output)
|
||||
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | json_output)
|
||||
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | json_output)
|
||||
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | json_output)
|
||||
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | json_output)
|
||||
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | json_output)
|
||||
fi
|
||||
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 /)
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
else
|
||||
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | json_output)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@@ -229,9 +263,17 @@ else
|
||||
fi
|
||||
|
||||
if [[ "$INPUT_JSON" == "false" ]]; then
|
||||
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
fi
|
||||
else
|
||||
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
else
|
||||
OTHER_CHANGED=$(echo "${OTHER_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${OTHER_CHANGED}" && "${OTHER_CHANGED}" != "[]" ]]; then
|
||||
@@ -281,9 +323,17 @@ else
|
||||
fi
|
||||
|
||||
if [[ "$INPUT_JSON" == "false" ]]; then
|
||||
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
fi
|
||||
else
|
||||
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
else
|
||||
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${OTHER_MODIFIED}" && "$OTHER_MODIFIED" != "[]" ]]; then
|
||||
@@ -332,9 +382,17 @@ else
|
||||
fi
|
||||
|
||||
if [[ "$INPUT_JSON" == "false" ]]; then
|
||||
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
fi
|
||||
else
|
||||
OTHER_DELETED=$(echo "${OTHER_DELETED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
else
|
||||
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${OTHER_DELETED}" && "${OTHER_DELETED}" != "[]" ]]; then
|
||||
@@ -354,29 +412,57 @@ else
|
||||
fi
|
||||
fi
|
||||
if [[ "$INPUT_JSON" == "false" ]]; then
|
||||
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
else
|
||||
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
fi
|
||||
else
|
||||
ADDED=$(echo "${ADDED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
COPIED=$(echo "${COPIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
DELETED=$(echo "${DELETED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
MODIFIED=$(echo "${MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
RENAMED=$(echo "${RENAMED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
UNMERGED=$(echo "${UNMERGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
UNKNOWN=$(echo "${UNKNOWN}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_CHANGED=$(echo "${ALL_CHANGED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
|
||||
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
|
||||
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq | json_output)
|
||||
else
|
||||
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | json_output)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -407,6 +493,7 @@ if [[ -z "$GITHUB_OUTPUT" ]]; then
|
||||
echo "::set-output name=all_changed_and_modified_files::$ALL_CHANGED_AND_MODIFIED"
|
||||
echo "::set-output name=all_changed_files::$ALL_CHANGED"
|
||||
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
|
||||
echo "::set-output name=outputs_extension::$OUTPUTS_EXTENSION"
|
||||
else
|
||||
cat <<EOF >>"$GITHUB_OUTPUT"
|
||||
added_files=$ADDED
|
||||
@@ -420,6 +507,7 @@ unknown_files=$UNKNOWN
|
||||
all_changed_and_modified_files=$ALL_CHANGED_AND_MODIFIED
|
||||
all_changed_files=$ALL_CHANGED
|
||||
all_modified_files=$ALL_MODIFIED
|
||||
outputs_extension=$OUTPUTS_EXTENSION
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
||||
Submodule test/demo updated: 3b8549eb19...83ccca9b63
@@ -1 +1 @@
|
||||
This is a test file
|
||||
This is a test file.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
This is test file 1.
|
||||
1
test/test rename-1.txt
Normal file
1
test/test rename-1.txt
Normal file
@@ -0,0 +1 @@
|
||||
This is a test file 1.
|
||||
@@ -1 +1 @@
|
||||
This is a test file
|
||||
This is a test file.
|
||||
|
||||
@@ -1 +1 @@
|
||||
This is a test file
|
||||
This is a test file.
|
||||
|
||||
@@ -1 +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.
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit 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.
|
||||
Reference in New Issue
Block a user