Compare commits
102 Commits
v35.4.2
...
v35.7.0-se
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d1543af8c | ||
|
|
172ae47338 | ||
|
|
bd376fbcfa | ||
|
|
93b782be1f | ||
|
|
10b3f59625 | ||
|
|
53acb3010e | ||
|
|
3032ed1238 | ||
|
|
84ed30e2f4 | ||
|
|
6961203862 | ||
|
|
1837ef5578 | ||
|
|
74b06cafc9 | ||
|
|
74b3be4bf5 | ||
|
|
5ce975c602 | ||
|
|
89c8821949 | ||
|
|
bd5870c212 | ||
|
|
570b202ee2 | ||
|
|
7a453ffa2e | ||
|
|
04124efe75 | ||
|
|
6f22f2f9ba | ||
|
|
3ee6abf610 | ||
|
|
e26c03691d | ||
|
|
fa4776dd71 | ||
|
|
379de7170f | ||
|
|
23ffa77dee | ||
|
|
fdbd13bcad | ||
|
|
23e3c4300c | ||
|
|
063e674726 | ||
|
|
62102d8eaa | ||
|
|
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 |
2
.github/workflows/auto-merge.yml
vendored
2
.github/workflows/auto-merge.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
github.actor == 'renovate'
|
||||
steps:
|
||||
- name: automerge
|
||||
uses: pascalgn/automerge-action@v0.15.5
|
||||
uses: pascalgn/automerge-action@v0.15.6
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
||||
MERGE_METHOD: "rebase"
|
||||
|
||||
2
.github/workflows/codacy-analysis.yml
vendored
2
.github/workflows/codacy-analysis.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
||||
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
|
||||
- name: Run Codacy Analysis CLI
|
||||
continue-on-error: true
|
||||
uses: codacy/codacy-analysis-cli-action@v4.2.0
|
||||
uses: codacy/codacy-analysis-cli-action@v4.3.0
|
||||
with:
|
||||
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
|
||||
# You can also omit the token and run the tools that support default configurations
|
||||
|
||||
4
.github/workflows/sync-release-version.yml
vendored
4
.github/workflows/sync-release-version.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Run release-tagger
|
||||
uses: tj-actions/release-tagger@v2
|
||||
uses: tj-actions/release-tagger@v3
|
||||
- name: Sync release version.
|
||||
uses: tj-actions/sync-release-version@v13
|
||||
id: sync-release-version
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
paths: |
|
||||
README.md
|
||||
- name: Generate CHANGELOG
|
||||
uses: tj-actions/github-changelog-generator@v1.17
|
||||
uses: tj-actions/github-changelog-generator@v1.18
|
||||
with:
|
||||
output: 'HISTORY.md'
|
||||
- name: Create Pull Request
|
||||
|
||||
170
.github/workflows/test.yml
vendored
170
.github/workflows/test.yml
vendored
@@ -5,10 +5,6 @@ on:
|
||||
branches:
|
||||
- "**"
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- synchronize
|
||||
- reopened
|
||||
branches:
|
||||
- main
|
||||
pull_request_review:
|
||||
@@ -24,16 +20,11 @@ jobs:
|
||||
- name: Checkout to branch
|
||||
uses: actions/checkout@v3
|
||||
- name: shellcheck
|
||||
uses: reviewdog/action-shellcheck@v1.16
|
||||
uses: reviewdog/action-shellcheck@v1.17
|
||||
|
||||
test-multiple-repositories:
|
||||
name: Test with multiple repositories
|
||||
runs-on: ${{ matrix.platform }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout into dir1
|
||||
uses: actions/checkout@v3
|
||||
@@ -84,13 +75,8 @@ jobs:
|
||||
|
||||
test-using-since-and-until:
|
||||
name: Test changed-files using since and until
|
||||
runs-on: ${{ matrix.platform }}
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'push'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -140,12 +126,7 @@ jobs:
|
||||
|
||||
test-similar-base-and-commit-sha:
|
||||
name: Test changed-files similar base and commit sha
|
||||
runs-on: ${{ matrix.platform }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -175,12 +156,7 @@ jobs:
|
||||
|
||||
test-unset-github-output-env:
|
||||
name: Test unset GITHUB_OUTPUT env
|
||||
runs-on: ${{ matrix.platform }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -203,13 +179,13 @@ jobs:
|
||||
|
||||
test-limited-commit-history:
|
||||
name: Test changed-files with limited commit history
|
||||
runs-on: ${{ matrix.platform }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
fetch-depth: [1, 2]
|
||||
input-fetch_depth: [1, 50]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -220,6 +196,8 @@ jobs:
|
||||
- name: Run changed-files
|
||||
id: changed-files
|
||||
uses: ./
|
||||
with:
|
||||
fetch_depth: ${{ matrix.input-fetch_depth }}
|
||||
|
||||
- name: Show output
|
||||
run: |
|
||||
@@ -229,12 +207,7 @@ jobs:
|
||||
|
||||
test-non-existent-base-sha:
|
||||
name: Test changed-files non existent base sha
|
||||
runs-on: ${{ matrix.platform }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -281,12 +254,7 @@ jobs:
|
||||
|
||||
test-non-existent-sha:
|
||||
name: Test changed-files non existent sha
|
||||
runs-on: ${{ matrix.platform }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
@@ -331,6 +299,43 @@ jobs:
|
||||
echo "Expected: (failure) got ${{ steps.changed-files-specific.outcome }}"
|
||||
exit 1
|
||||
|
||||
test-submodules:
|
||||
name: Test changed-files with submodule
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
fetch-depth: [0, 1, 2]
|
||||
|
||||
steps:
|
||||
- name: Checkout to branch
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
submodules: recursive
|
||||
fetch-depth: ${{ matrix.fetch-depth }}
|
||||
|
||||
- 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 }}
|
||||
@@ -339,7 +344,7 @@ jobs:
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
platform: [ubuntu-latest, ubuntu-22.04, windows-latest, macos-latest, macos-11, windows-2022]
|
||||
fetch-depth: [0, 1]
|
||||
fetch-depth: [0, 1, 2]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -446,6 +451,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: ./
|
||||
@@ -858,8 +885,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
|
||||
@@ -880,8 +910,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
|
||||
@@ -898,7 +931,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 }})"
|
||||
@@ -924,7 +966,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 }})"
|
||||
@@ -933,7 +983,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 }})"
|
||||
@@ -942,7 +1000,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 }})"
|
||||
|
||||
2
.github/workflows/update-readme.yml
vendored
2
.github/workflows/update-readme.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Run auto-doc
|
||||
uses: tj-actions/auto-doc@v1
|
||||
uses: tj-actions/auto-doc@v2
|
||||
|
||||
- name: Run remark
|
||||
uses: tj-actions/remark@v3
|
||||
|
||||
324
HISTORY.md
324
HISTORY.md
@@ -2,19 +2,266 @@
|
||||
|
||||
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.1...HEAD)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.7.0...HEAD)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Use Full SHA instead tag in nested actions calls [\#1019](https://github.com/tj-actions/changed-files/issues/1019)
|
||||
|
||||
## [v35.7.0](https://github.com/tj-actions/changed-files/tree/v35.7.0) (2023-03-13)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35...v35.7.0)
|
||||
|
||||
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-03-13)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.4...v35)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] v35 started failing while fetching remote refs [\#1014](https://github.com/tj-actions/changed-files/issues/1014)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- pin: glob and json2file actions to the latest full length sha [\#1020](https://github.com/tj-actions/changed-files/pull/1020) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/release-tagger action to v3 [\#1018](https://github.com/tj-actions/changed-files/pull/1018) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- chore\(deps\): update tj-actions/github-changelog-generator action to v1.18 [\#1017](https://github.com/tj-actions/changed-files/pull/1017) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.6.4 [\#1016](https://github.com/tj-actions/changed-files/pull/1016) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.6.4](https://github.com/tj-actions/changed-files/tree/v35.6.4) (2023-03-10)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.3...v35.6.4)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Latest release causes specific sha to not be found [\#1010](https://github.com/tj-actions/changed-files/issues/1010)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Can we get the change files since last release [\#1013](https://github.com/tj-actions/changed-files/issues/1013)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: error fetching history for PR branches [\#1015](https://github.com/tj-actions/changed-files/pull/1015) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.6.3 [\#1012](https://github.com/tj-actions/changed-files/pull/1012) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update tj-actions/auto-doc action to v2 [\#1011](https://github.com/tj-actions/changed-files/pull/1011) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
|
||||
## [v35.6.3](https://github.com/tj-actions/changed-files/tree/v35.6.3) (2023-03-09)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.2...v35.6.3)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: simplify fetch [\#1009](https://github.com/tj-actions/changed-files/pull/1009) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.6.2 [\#1008](https://github.com/tj-actions/changed-files/pull/1008) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.6.2](https://github.com/tj-actions/changed-files/tree/v35.6.2) (2023-03-09)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.1...v35.6.2)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Compare the Last Remote SHA and Head SHA of a Git Branch? [\#1006](https://github.com/tj-actions/changed-files/issues/1006)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: fetching history for pr made from a fork with checkout set to the target repository [\#1007](https://github.com/tj-actions/changed-files/pull/1007) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update codacy/codacy-analysis-cli-action action to v4.3.0 [\#1005](https://github.com/tj-actions/changed-files/pull/1005) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.6.1 [\#1004](https://github.com/tj-actions/changed-files/pull/1004) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.6.1](https://github.com/tj-actions/changed-files/tree/v35.6.1) (2023-02-28)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.6.0...v35.6.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Add support for listing deleted submodules [\#999](https://github.com/tj-actions/changed-files/issues/999)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- feat: pull submodule history for pull request events [\#1003](https://github.com/tj-actions/changed-files/pull/1003) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.6.0 [\#1002](https://github.com/tj-actions/changed-files/pull/1002) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.6.0](https://github.com/tj-actions/changed-files/tree/v35.6.0) (2023-02-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.6...v35.6.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Running on PR doesn't get the correct head sha [\#998](https://github.com/tj-actions/changed-files/issues/998)
|
||||
- \[BUG\] action fails when with a Git tag instead of branch [\#995](https://github.com/tj-actions/changed-files/issues/995)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- feat: add support for listing deleted submodules. [\#1001](https://github.com/tj-actions/changed-files/pull/1001) ([jackton1](https://github.com/jackton1))
|
||||
- fix: readme typo [\#1000](https://github.com/tj-actions/changed-files/pull/1000) ([benhammondmusic](https://github.com/benhammondmusic))
|
||||
- Upgraded to v35.5.6 [\#997](https://github.com/tj-actions/changed-files/pull/997) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.5.6](https://github.com/tj-actions/changed-files/tree/v35.5.6) (2023-02-20)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.5...v35.5.6)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- \[Feature\] Watch multiple paths [\#993](https://github.com/tj-actions/changed-files/issues/993)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: error fetch remote ref when using fetch depth of 1 [\#996](https://github.com/tj-actions/changed-files/pull/996) ([jackton1](https://github.com/jackton1))
|
||||
- chore\(deps\): update pascalgn/automerge-action action to v0.15.6 [\#994](https://github.com/tj-actions/changed-files/pull/994) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v35.5.5 [\#991](https://github.com/tj-actions/changed-files/pull/991) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v35.5.5](https://github.com/tj-actions/changed-files/tree/v35.5.5) (2023-02-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.5.4...v35.5.5)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Changes are retrieved for everything since initial commit, instead of the current context like the GitHub UI [\#990](https://github.com/tj-actions/changed-files/issues/990)
|
||||
- \[BUG\] "unknown revision" when using "path" [\#987](https://github.com/tj-actions/changed-files/issues/987)
|
||||
- \[BUG\] Failing to retrieve master branch if depth isn't 0 [\#988](https://github.com/tj-actions/changed-files/issues/988)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: bug with fetching history [\#989](https://github.com/tj-actions/changed-files/pull/989) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v35.5.4 [\#986](https://github.com/tj-actions/changed-files/pull/986) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [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.5.3...v35.5.4)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[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)
|
||||
|
||||
**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...v35.4.1)
|
||||
|
||||
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-01-11)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.0...v35)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.0...v35.4.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
@@ -53,10 +300,6 @@
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.1...v35.3.2)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix\(regression\): invalid json output. [\#930](https://github.com/tj-actions/changed-files/pull/930) ([jackton1](https://github.com/jackton1))
|
||||
@@ -185,7 +428,6 @@
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Process completed with exit code 1 [\#884](https://github.com/tj-actions/changed-files/issues/884)
|
||||
- \[BUG\] `changed-files` error during run [\#875](https://github.com/tj-actions/changed-files/issues/875)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -623,7 +865,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:**
|
||||
|
||||
@@ -636,13 +878,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.1.2...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...v33.0.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -661,13 +903,13 @@
|
||||
- chore\(deps\): update tj-actions/verify-changed-files action to v12 [\#696](https://github.com/tj-actions/changed-files/pull/696) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v32.1.2 [\#695](https://github.com/tj-actions/changed-files/pull/695) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v32.1.2](https://github.com/tj-actions/changed-files/tree/v32.1.2) (2022-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32...v32.1.2)
|
||||
|
||||
## [v32](https://github.com/tj-actions/changed-files/tree/v32) (2022-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.1...v32)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v32)
|
||||
|
||||
## [v32.1.2](https://github.com/tj-actions/changed-files/tree/v32.1.2) (2022-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.1...v32.1.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -729,7 +971,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))
|
||||
@@ -1680,7 +1922,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:**
|
||||
|
||||
@@ -1699,13 +1941,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:**
|
||||
|
||||
@@ -1859,7 +2101,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:**
|
||||
|
||||
@@ -1873,13 +2115,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:**
|
||||
|
||||
@@ -2264,7 +2506,7 @@
|
||||
|
||||
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v7)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -2280,13 +2522,13 @@
|
||||
- Update tj-actions/sync-release-version action to v8.7 [\#86](https://github.com/tj-actions/changed-files/pull/86) ([renovate[bot]](https://github.com/apps/renovate))
|
||||
- Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v6)
|
||||
|
||||
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6.3)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v6.3)
|
||||
|
||||
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
|
||||
142
README.md
142
README.md
@@ -1,11 +1,11 @@
|
||||
[](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 -->
|
||||
|
||||
@@ -15,19 +15,19 @@
|
||||
|
||||
## 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 a **relative path** from the project root.
|
||||
|
||||
## Features
|
||||
|
||||
* Fast execution (0-10 seconds on average).
|
||||
* Easy to debug.
|
||||
* Scales to large repositories.
|
||||
* Git submodules support.
|
||||
* 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 to run matrix jobs based on changed files.
|
||||
* List changed directories.
|
||||
* Restrict the max depth of changed directories.
|
||||
* Optionally save outputs to files at a specified location for further processing.
|
||||
* Monorepos (Fetches only the last remote commit).
|
||||
* Write outputs to a `.txt` or `.json` file at a specified location for further processing.
|
||||
* Monorepos (Fetches a fixed number of commits).
|
||||
* Supports all platforms (Linux, MacOS, Windows).
|
||||
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support
|
||||
* [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@3.3/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server) support.
|
||||
@@ -39,7 +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
|
||||
* Brace expansion.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -48,23 +48,23 @@ Retrieve all changed files and directories relative to the target branch or the
|
||||
> * **IMPORTANT:** For `push` events you need to include `fetch-depth: 0` **OR** `fetch-depth: 2` depending on your use case.
|
||||
> * 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.
|
||||
> * All multiline inputs should not use double or single quotes 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 -> 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 current commit to the last pushed remote commit of a PR branch set `since_last_remote_commit: true`)
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
# -------------------------------------------------------------------------------------------------------------------------
|
||||
# Event `push`: Compare the preceeding commit -> to the current commit of the main branch.
|
||||
# Event `pull_request`: Compare the last commit of main -> to the current commit of a Pull Request branch.
|
||||
# -------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -79,6 +79,10 @@ jobs:
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v35
|
||||
|
||||
# To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g
|
||||
# with:
|
||||
# since_last_remote_commit: true
|
||||
|
||||
- name: List all changed files
|
||||
run: |
|
||||
@@ -98,6 +102,21 @@ jobs:
|
||||
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`
|
||||
|
||||
- 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:
|
||||
@@ -162,6 +181,7 @@ Support this project with a :star:
|
||||
| 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. |
|
||||
@@ -261,6 +281,51 @@ See [outputs](#outputs) for a list of all available outputs.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Get all changed files and write the outputs to a json file</summary>
|
||||
|
||||
```yaml
|
||||
...
|
||||
|
||||
- name: Get changed files and write the outputs to a json file
|
||||
id: changed-files-write-output-files-json
|
||||
uses: ./
|
||||
with:
|
||||
json: true
|
||||
write_output_files: true
|
||||
|
||||
- name: Verify the contents of the .github/added_files.json file
|
||||
run: |
|
||||
cat .github/added_files.json
|
||||
...
|
||||
```
|
||||
|
||||
See [action.yml](action.yml#L264) for a list of all available keys.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Get all changed files and write the outputs to a txt file</summary>
|
||||
|
||||
```yaml
|
||||
...
|
||||
|
||||
- name: Get changed files and write the outputs to a txt file
|
||||
id: changed-files-write-output-files-txt
|
||||
uses: ./
|
||||
with:
|
||||
write_output_files: true
|
||||
|
||||
- name: Verify the contents of the .github/added_files.txt file
|
||||
run: |
|
||||
cat .github/added_files.txt
|
||||
...
|
||||
```
|
||||
|
||||
See [action.yml](action.yml#L264) for a list of all available keys.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Get all changed files using a list of files</summary>
|
||||
|
||||
@@ -403,6 +468,49 @@ 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 changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v35
|
||||
|
||||
- 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>
|
||||
|
||||
|
||||
10
action.yml
10
action.yml
@@ -75,6 +75,10 @@ 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
|
||||
@@ -183,6 +187,7 @@ runs:
|
||||
GITHUB_REF: ${{ github.ref }}
|
||||
GITHUB_SHA: ${{ github.sha }}
|
||||
GITHUB_WORKSPACE: ${{ github.workspace }}
|
||||
GITHUB_EVENT_BASE_REF: ${{ github.event.base_ref }}
|
||||
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 }}
|
||||
@@ -203,7 +208,7 @@ runs:
|
||||
INPUT_FETCH_DEPTH: ${{ inputs.fetch_depth }}
|
||||
INPUT_SINCE_LAST_REMOTE_COMMIT: ${{ inputs.since_last_remote_commit }}
|
||||
- name: Glob match
|
||||
uses: tj-actions/glob@v16
|
||||
uses: tj-actions/glob@cebfb084cdf62d72c5318b1b3595ac5a45ed022f # renovate: tag=v16.11
|
||||
id: glob
|
||||
with:
|
||||
files: ${{ inputs.files }}
|
||||
@@ -245,11 +250,12 @@ 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
|
||||
uses: tj-actions/json2file@ee0fd2ce53e57fa50da61615cd644018eaf3ab6c # renovate: tag=v1.3.0
|
||||
if: inputs.write_output_files == 'true'
|
||||
with:
|
||||
outputs: ${{ toJSON(steps.changed-files.outputs) }}
|
||||
|
||||
113
diff-sha.sh
113
diff-sha.sh
@@ -4,13 +4,17 @@ set -euo pipefail
|
||||
|
||||
INITIAL_COMMIT="false"
|
||||
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
|
||||
EXTRA_ARGS="--no-tags --prune --no-recurse-submodules"
|
||||
EXTRA_ARGS="--no-tags --prune --recurse-submodules"
|
||||
PREVIOUS_SHA=""
|
||||
CURRENT_SHA=""
|
||||
DIFF="..."
|
||||
IS_TAG="false"
|
||||
SOURCE_BRANCH=""
|
||||
|
||||
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
|
||||
IS_TAG="true"
|
||||
EXTRA_ARGS="--prune --no-recurse-submodules"
|
||||
SOURCE_BRANCH=${GITHUB_EVENT_BASE_REF#refs/heads/}
|
||||
fi
|
||||
|
||||
if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
|
||||
@@ -50,15 +54,32 @@ else
|
||||
echo "Valid git version found: ($GIT_VERSION)"
|
||||
fi
|
||||
|
||||
IS_SHALLOW=$(git rev-parse --is-shallow-repository) && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ $exit_status -ne 0 ]]; then
|
||||
echo "::error::Unable to determine if the repository is shallow"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
|
||||
echo "Running on a push event..."
|
||||
TARGET_BRANCH=$GITHUB_REFNAME
|
||||
CURRENT_BRANCH=$TARGET_BRANCH
|
||||
|
||||
if [[ -f .git/shallow ]]; then
|
||||
if [[ "$IS_SHALLOW" == "true" ]]; then
|
||||
echo "Fetching remote refs..."
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null
|
||||
if [[ "$IS_TAG" == "false" ]]; then
|
||||
# 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
|
||||
elif [[ "$SOURCE_BRANCH" != "" ]]; then
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +refs/heads/"$SOURCE_BRANCH":refs/remotes/origin/"$SOURCE_BRANCH" 1>/dev/null
|
||||
fi
|
||||
|
||||
if git submodule status &>/dev/null; then
|
||||
# shellcheck disable=SC2086
|
||||
git submodule foreach git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" || true
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::debug::Getting HEAD SHA..."
|
||||
@@ -98,25 +119,28 @@ if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
|
||||
echo "::error::Unable to locate a previous commit for the specified date: $INPUT_SINCE"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$IS_TAG" == "true" ]]; then
|
||||
PREVIOUS_SHA=$(git rev-parse "$(git tag --sort=-v:refname | head -n 2 | tail -n 1)") && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ -z "$PREVIOUS_SHA" ]]; then
|
||||
echo "::error::Unable to locate a previous commit for the specified tag: $GITHUB_REF"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; 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") && 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
|
||||
@@ -136,6 +160,10 @@ if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
|
||||
fi
|
||||
else
|
||||
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..."
|
||||
@@ -158,10 +186,29 @@ else
|
||||
TARGET_BRANCH=$CURRENT_BRANCH
|
||||
fi
|
||||
|
||||
if [[ -f .git/shallow ]]; then
|
||||
if [[ "$IS_SHALLOW" == "true" ]]; then
|
||||
echo "Fetching remote refs..."
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_PULL_REQUEST_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null
|
||||
if git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_PULL_REQUEST_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null; then
|
||||
echo "First fetch succeeded"
|
||||
else
|
||||
echo "First fetch failed, falling back to second fetch"
|
||||
# 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 || true
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
if git submodule status &>/dev/null; then
|
||||
# shellcheck disable=SC2086
|
||||
git submodule foreach git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" || true
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::debug::Getting HEAD SHA..."
|
||||
@@ -200,33 +247,37 @@ else
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
|
||||
fi
|
||||
else
|
||||
if [[ -f .git/shallow ]]; then
|
||||
echo "::debug::Fetching remote target branch..."
|
||||
# shellcheck disable=SC2086
|
||||
git fetch -u --progress $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null
|
||||
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
|
||||
|
||||
if [[ "$IS_SHALLOW" == "true" ]]; 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
|
||||
|
||||
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 1>/dev/null 2>&1 || true
|
||||
|
||||
PREVIOUS_SHA=$(git merge-base "$TARGET_BRANCH" "$CURRENT_SHA") && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_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
|
||||
PREVIOUS_SHA=$(git rev-parse "$TARGET_BRANCH") && exit_status=$? || exit_status=$?
|
||||
DIFF=".."
|
||||
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
|
||||
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"
|
||||
|
||||
@@ -47,18 +47,22 @@ 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() {
|
||||
JQ_ARGS="-sR"
|
||||
local jq_args="-sR"
|
||||
if [[ "$INPUT_JSON_RAW_FORMAT" == "true" ]]; then
|
||||
JQ_ARGS="$JQ_ARGS -r"
|
||||
jq_args="$jq_args -r"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
jq $JQ_ARGS 'split("\n") | map(select(. != "")) | @json' | sed -r 's/^"|"$//g' | tr -s /
|
||||
jq $jq_args 'split("\n") | map(select(. != "")) | @json' | sed -r 's/^"|"$//g' | tr -s /
|
||||
}
|
||||
|
||||
function get_diff() {
|
||||
@@ -67,33 +71,39 @@ function get_diff() {
|
||||
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}')
|
||||
done < <(git submodule status --recursive | grep -v "^-" | awk '{print $2}')
|
||||
|
||||
git diff --diff-filter="$filter" --name-only --ignore-submodules=all --no-merges "$base$DIFF$sha" && exit_status=$? || exit_status=$?
|
||||
if [[ "$filter" == "D" ]]; then
|
||||
while read -r sub; do
|
||||
echo "$sub"
|
||||
done < <(git submodule status --recursive | grep -e "^-" | awk '{print $2}')
|
||||
fi
|
||||
|
||||
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
|
||||
echo "::error::Failed to get changed files between: $base$DIFF$sha" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -102,33 +112,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}')
|
||||
|
||||
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
|
||||
echo "::error::Failed to get renamed files between: $base → $sha" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Submodule test/demo updated: 3b8549eb19...83ccca9b63
@@ -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