Compare commits
96 Commits
v35.4.3
...
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 |
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
|
||||
|
||||
115
.github/workflows/test.yml
vendored
115
.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: ./
|
||||
|
||||
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
|
||||
|
||||
323
HISTORY.md
323
HISTORY.md
@@ -2,19 +2,252 @@
|
||||
|
||||
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.2...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...v35.4.2)
|
||||
|
||||
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-01-18)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.1...v35)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.1...v35.4.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -67,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))
|
||||
@@ -439,7 +668,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.2...v34.3.3)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -454,13 +683,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.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.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)
|
||||
[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)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -655,7 +884,7 @@
|
||||
|
||||
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32...v33.0.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
@@ -674,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:**
|
||||
|
||||
@@ -736,24 +965,24 @@
|
||||
|
||||
## [v32.0.0](https://github.com/tj-actions/changed-files/tree/v32.0.0) (2022-10-06)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v32.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v32.0.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- 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))
|
||||
|
||||
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v31.0.3)
|
||||
|
||||
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v31)
|
||||
|
||||
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31.0.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -793,7 +1022,7 @@
|
||||
|
||||
## [v31.0.0](https://github.com/tj-actions/changed-files/tree/v31.0.0) (2022-09-25)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v31.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v31.0.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
@@ -806,13 +1035,13 @@
|
||||
- chore: update broken link [\#642](https://github.com/tj-actions/changed-files/pull/642) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v30.0.0 [\#641](https://github.com/tj-actions/changed-files/pull/641) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v30)
|
||||
|
||||
## [v30.0.0](https://github.com/tj-actions/changed-files/tree/v30.0.0) (2022-09-24)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v30.0.0)
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v30.0.0)
|
||||
|
||||
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v30)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
@@ -1693,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:**
|
||||
|
||||
@@ -1712,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:**
|
||||
|
||||
@@ -2277,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:**
|
||||
|
||||
@@ -2293,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) }}
|
||||
|
||||
85
diff-sha.sh
85
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,6 +119,13 @@ 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=""
|
||||
@@ -105,14 +133,14 @@ if [[ -z $GITHUB_EVENT_PULL_REQUEST_BASE_REF ]]; then
|
||||
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE && exit_status=$? || exit_status=$?
|
||||
else
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD~1") && exit_status=$? || exit_status=$?
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
else
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD~1") && exit_status=$? || exit_status=$?
|
||||
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-list -n 1 "HEAD~1") && exit_status=$? || exit_status=$?
|
||||
PREVIOUS_SHA=$(git rev-list -n 1 "HEAD^") && exit_status=$? || exit_status=$?
|
||||
fi
|
||||
|
||||
if [[ "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
|
||||
@@ -132,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..."
|
||||
@@ -154,16 +186,28 @@ 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 --deepen="$INPUT_FETCH_DEPTH" origin "$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 -u --progress $EXTRA_ARGS --depth="$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 2>&1 || true
|
||||
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
|
||||
|
||||
@@ -203,10 +247,23 @@ else
|
||||
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
|
||||
fi
|
||||
else
|
||||
PREVIOUS_SHA=$(git merge-base "$TARGET_BRANCH" "$CURRENT_SHA") && exit_status=$? || exit_status=$?
|
||||
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
|
||||
|
||||
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
|
||||
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
|
||||
fi
|
||||
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user