Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09441d38ea | ||
|
|
65070c702a | ||
|
|
b3b79dbb9c | ||
|
|
c284d64019 | ||
|
|
d27c1154d5 | ||
|
|
acb1d7db82 | ||
|
|
690deb84ea | ||
|
|
a83b3d3943 | ||
|
|
8e79a7232f | ||
|
|
aaf26005c3 | ||
|
|
618324f5d3 | ||
|
|
3520c15609 | ||
|
|
fad8491fc9 | ||
|
|
3eda4784bb | ||
|
|
b719970c0b | ||
|
|
68651bf651 | ||
|
|
d4982767f9 | ||
|
|
aa6e536bdb | ||
|
|
515a44abdb | ||
|
|
bbda4a813a | ||
|
|
a81ed2173e | ||
|
|
e3e15baf50 | ||
|
|
225624ef26 | ||
|
|
7d60fe14e4 | ||
|
|
357d0e1dee |
2
.github/workflows/greetings.yml
vendored
2
.github/workflows/greetings.yml
vendored
@@ -10,4 +10,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
issue-message: "Thanks for reporting this issue, don't forget to star this project to help us reach a wider audience."
|
issue-message: "Thanks for reporting this issue, don't forget to star this project to help us reach a wider audience."
|
||||||
pr-message: "Thanks for implementing a fix. Could you ensure that the test covers your changes."
|
pr-message: "Thanks for implementing a fix, could you ensure that the test covers your changes."
|
||||||
|
|||||||
2
.github/workflows/sync-release-version.yml
vendored
2
.github/workflows/sync-release-version.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Sync release version.
|
- name: Sync release version.
|
||||||
uses: tj-actions/sync-release-version@v9
|
uses: tj-actions/sync-release-version@v11
|
||||||
id: sync-release-version
|
id: sync-release-version
|
||||||
with:
|
with:
|
||||||
pattern: '${{ github.repository }}@'
|
pattern: '${{ github.repository }}@'
|
||||||
|
|||||||
5
.github/workflows/test.yml
vendored
5
.github/workflows/test.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
- name: Checkout to branch
|
- name: Checkout to branch
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: shellcheck
|
- name: shellcheck
|
||||||
uses: reviewdog/action-shellcheck@v1.13
|
uses: reviewdog/action-shellcheck@v1.14
|
||||||
|
|
||||||
test-multiple-repositories:
|
test-multiple-repositories:
|
||||||
name: Test with multiple repositories
|
name: Test with multiple repositories
|
||||||
@@ -223,7 +223,8 @@ jobs:
|
|||||||
.github/workflows/test.yml
|
.github/workflows/test.yml
|
||||||
action.yml
|
action.yml
|
||||||
**/test.txt
|
**/test.txt
|
||||||
!test/test/test.txt
|
files_ignore: |
|
||||||
|
test/test/test.txt
|
||||||
- name: Show output
|
- name: Show output
|
||||||
run: |
|
run: |
|
||||||
echo '${{ toJSON(steps.changed-files-specific.outputs) }}'
|
echo '${{ toJSON(steps.changed-files-specific.outputs) }}'
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
|||||||
.envrc
|
.envrc
|
||||||
tag.sh
|
tag.sh
|
||||||
untag.sh
|
untag.sh
|
||||||
|
.DS_Store
|
||||||
|
|||||||
91
HISTORY.md
91
HISTORY.md
@@ -2,11 +2,82 @@
|
|||||||
|
|
||||||
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
|
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
|
||||||
|
|
||||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.5...HEAD)
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.0.0...HEAD)
|
||||||
|
|
||||||
|
**Fixed bugs:**
|
||||||
|
|
||||||
|
- \[BUG\] not patterns is not working in files [\#372](https://github.com/tj-actions/changed-files/issues/372)
|
||||||
|
|
||||||
|
**Closed issues:**
|
||||||
|
|
||||||
|
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
|
||||||
|
|
||||||
|
## [v5.0.0](https://github.com/tj-actions/changed-files/tree/v5.0.0) (2022-02-15)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14.7...v5.0.0)
|
||||||
|
|
||||||
**Implemented enhancements:**
|
**Implemented enhancements:**
|
||||||
|
|
||||||
- \[Feature\] Add support for detecting changes in submodules [\#349](https://github.com/tj-actions/changed-files/issues/349)
|
- \[Feature\] files-ignore [\#366](https://github.com/tj-actions/changed-files/issues/366)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Update tj-actions/sync-release-version action to v11 [\#374](https://github.com/tj-actions/changed-files/pull/374) ([renovate[bot]](https://github.com/apps/renovate))
|
||||||
|
- Updated README.md [\#373](https://github.com/tj-actions/changed-files/pull/373) ([jackton1](https://github.com/jackton1))
|
||||||
|
- Upgraded to v14.7 [\#371](https://github.com/tj-actions/changed-files/pull/371) ([jackton1](https://github.com/jackton1))
|
||||||
|
- chore: Cleanup duplicate action runs [\#370](https://github.com/tj-actions/changed-files/pull/370) ([jackton1](https://github.com/jackton1))
|
||||||
|
- feat: Add support for excluding files via files-ignore input [\#369](https://github.com/tj-actions/changed-files/pull/369) ([jackton1](https://github.com/jackton1))
|
||||||
|
|
||||||
|
## [v14.7](https://github.com/tj-actions/changed-files/tree/v14.7) (2022-02-14)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.7...v14.7)
|
||||||
|
|
||||||
|
**Fixed bugs:**
|
||||||
|
|
||||||
|
- \[BUG\] "delete" does not work [\#353](https://github.com/tj-actions/changed-files/issues/353)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Upgraded to v4.0.7 [\#368](https://github.com/tj-actions/changed-files/pull/368) ([jackton1](https://github.com/jackton1))
|
||||||
|
|
||||||
|
## [v4.0.7](https://github.com/tj-actions/changed-files/tree/v4.0.7) (2022-02-14)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14.6...v4.0.7)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- fix: Bug detecting deleted files. [\#364](https://github.com/tj-actions/changed-files/pull/364) ([jackton1](https://github.com/jackton1))
|
||||||
|
- chore: Update glob action inputs [\#363](https://github.com/tj-actions/changed-files/pull/363) ([jackton1](https://github.com/jackton1))
|
||||||
|
- Upgraded to v14.6 [\#362](https://github.com/tj-actions/changed-files/pull/362) ([jackton1](https://github.com/jackton1))
|
||||||
|
|
||||||
|
## [v14.6](https://github.com/tj-actions/changed-files/tree/v14.6) (2022-02-12)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.6...v14.6)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Upgraded to v4.0.6 [\#361](https://github.com/tj-actions/changed-files/pull/361) ([jackton1](https://github.com/jackton1))
|
||||||
|
|
||||||
|
## [v4.0.6](https://github.com/tj-actions/changed-files/tree/v4.0.6) (2022-02-12)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14.5...v4.0.6)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Update README.md [\#360](https://github.com/tj-actions/changed-files/pull/360) ([jackton1](https://github.com/jackton1))
|
||||||
|
- Update README.md [\#359](https://github.com/tj-actions/changed-files/pull/359) ([jackton1](https://github.com/jackton1))
|
||||||
|
- fix: Error with multiple changed files from merge commits [\#358](https://github.com/tj-actions/changed-files/pull/358) ([jackton1](https://github.com/jackton1))
|
||||||
|
- Update tj-actions/glob action to v7 [\#357](https://github.com/tj-actions/changed-files/pull/357) ([renovate[bot]](https://github.com/apps/renovate))
|
||||||
|
- Update reviewdog/action-shellcheck action to v1.14 [\#356](https://github.com/tj-actions/changed-files/pull/356) ([renovate[bot]](https://github.com/apps/renovate))
|
||||||
|
- Upgraded to v14.5 [\#352](https://github.com/tj-actions/changed-files/pull/352) ([jackton1](https://github.com/jackton1))
|
||||||
|
|
||||||
|
## [v14.5](https://github.com/tj-actions/changed-files/tree/v14.5) (2022-02-10)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.5...v14.5)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Upgraded to v4.0.5 [\#351](https://github.com/tj-actions/changed-files/pull/351) ([jackton1](https://github.com/jackton1))
|
||||||
|
|
||||||
## [v4.0.5](https://github.com/tj-actions/changed-files/tree/v4.0.5) (2022-02-10)
|
## [v4.0.5](https://github.com/tj-actions/changed-files/tree/v4.0.5) (2022-02-10)
|
||||||
|
|
||||||
@@ -154,10 +225,6 @@
|
|||||||
|
|
||||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v3.0.0...v13.1)
|
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v3.0.0...v13.1)
|
||||||
|
|
||||||
**Closed issues:**
|
|
||||||
|
|
||||||
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
|
|
||||||
|
|
||||||
**Merged pull requests:**
|
**Merged pull requests:**
|
||||||
|
|
||||||
- Update tj-actions/glob action to v3.3 [\#313](https://github.com/tj-actions/changed-files/pull/313) ([renovate[bot]](https://github.com/apps/renovate))
|
- Update tj-actions/glob action to v3.3 [\#313](https://github.com/tj-actions/changed-files/pull/313) ([renovate[bot]](https://github.com/apps/renovate))
|
||||||
@@ -784,7 +851,7 @@
|
|||||||
|
|
||||||
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
|
## [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:**
|
**Closed issues:**
|
||||||
|
|
||||||
@@ -800,13 +867,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))
|
- 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))
|
- 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)
|
## [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:**
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
|||||||
33
README.md
33
README.md
@@ -20,7 +20,7 @@ Retrieve all changed files relative to the default branch (`pull_request*` based
|
|||||||
* Fast execution (0-2 seconds on average).
|
* Fast execution (0-2 seconds on average).
|
||||||
* Easy to debug.
|
* Easy to debug.
|
||||||
* Boolean output indicating that certain files have been changed.
|
* Boolean output indicating that certain files have been changed.
|
||||||
* Git submodules
|
* Git submodules (TODO)
|
||||||
* Multiple repositories support.
|
* Multiple repositories support.
|
||||||
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support
|
* [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.
|
* [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.
|
||||||
@@ -66,7 +66,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Get changed files
|
- name: Get changed files
|
||||||
id: changed-files
|
id: changed-files
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
|
|
||||||
- name: List all changed files
|
- name: List all changed files
|
||||||
run: |
|
run: |
|
||||||
@@ -128,10 +128,13 @@ Support this project with a :star:
|
|||||||
| token | `string` | `false` | `${{ github.token }}` | [GITHUB\_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
|
| token | `string` | `false` | `${{ github.token }}` | [GITHUB\_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
|
||||||
| separator | `string` | `true` | `' '` | Output string separator |
|
| separator | `string` | `true` | `' '` | Output string separator |
|
||||||
| files | `string` OR `string[]` | `false` | | Check for changes <br> using only these <br> list of file(s) <br> (Defaults to the <br> entire repo) |
|
| files | `string` OR `string[]` | `false` | | Check for changes <br> using only these <br> list of file(s) <br> (Defaults to the <br> entire repo) |
|
||||||
| files-separator | string | false | `'\n'` | Separator used to split the<br>files input |
|
| files\_separator | string | false | `'\n'` | Separator used to split the<br>`files` input |
|
||||||
| base\_sha | `string` | `false` | | Specify a different <br> base commit SHA <br> used for <br> comparing changes |
|
| files\_from\_source\_file | `string` | `false` | | Source file(s) <br> used to populate <br> the `files` input |
|
||||||
|
| files\_ignore | string | false | | Ignore changes to these file(s) |
|
||||||
|
| files\_ignore\_separator | string | false | `'\n'` | Separator used to split the <br>`files-ignore` input |
|
||||||
|
| files\_ignore\_from\_source\_file | `string` | `false` | | Source file(s) <br> used to populate <br> the `files_ignore` input |
|
||||||
| sha | `string` | `true` | `${{ github.sha }}` | Specify a different <br> commit SHA <br> used for <br> comparing changes |
|
| sha | `string` | `true` | `${{ github.sha }}` | Specify a different <br> commit SHA <br> used for <br> comparing changes |
|
||||||
| files\_from\_source\_file | `string` | `false` | | Source file <br> used to populate <br> the files input |
|
| base\_sha | `string` | `false` | | Specify a different <br> base commit SHA <br> used for <br> comparing changes |
|
||||||
| path | `string` | `false` | | Relative path under <br> `GITHUB_WORKSPACE` <br> to the repository |
|
| path | `string` | `false` | | Relative path under <br> `GITHUB_WORKSPACE` <br> to the repository |
|
||||||
| since\_last\_remote\_commit | `string` | `false` | `false` | Use the last commit on the remote <br> branch as the `base_sha` <br> (Defaults to the previous commit). <br /> NOTE: This requires <br /> `fetch-depth: 0` <br /> with `actions/checkout@v2` |
|
| since\_last\_remote\_commit | `string` | `false` | `false` | Use the last commit on the remote <br> branch as the `base_sha` <br> (Defaults to the previous commit). <br /> NOTE: This requires <br /> `fetch-depth: 0` <br /> with `actions/checkout@v2` |
|
||||||
|
|
||||||
@@ -144,11 +147,11 @@ Support this project with a :star:
|
|||||||
|
|
||||||
- name: Get changed files using defaults
|
- name: Get changed files using defaults
|
||||||
id: changed-files
|
id: changed-files
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
|
|
||||||
- name: Get changed files using a comma separator
|
- name: Get changed files using a comma separator
|
||||||
id: changed-files-comma
|
id: changed-files-comma
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
separator: ","
|
separator: ","
|
||||||
|
|
||||||
@@ -170,7 +173,7 @@ Support this project with a :star:
|
|||||||
|
|
||||||
- name: Get specific changed files
|
- name: Get specific changed files
|
||||||
id: changed-files-specific
|
id: changed-files-specific
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
files: |
|
files: |
|
||||||
my-file.txt
|
my-file.txt
|
||||||
@@ -209,14 +212,14 @@ Support this project with a :star:
|
|||||||
|
|
||||||
- name: Use a source file or list of file(s) to populate to files input.
|
- name: Use a source file or list of file(s) to populate to files input.
|
||||||
id: changed-files-specific-source-file
|
id: changed-files-specific-source-file
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
files_from_source_file: |
|
files_from_source_file: |
|
||||||
test/changed-files-list.txt
|
test/changed-files-list.txt
|
||||||
|
|
||||||
- name: Use a source file or list of file(s) to populate to files input and optionally specify more files.
|
- name: Use a source file or list of file(s) to populate to files input and optionally specify more files.
|
||||||
id: changed-files-specific-source-file-and-specify-files
|
id: changed-files-specific-source-file-and-specify-files
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
files_from_source_file: |
|
files_from_source_file: |
|
||||||
test/changed-files-list.txt
|
test/changed-files-list.txt
|
||||||
@@ -225,13 +228,13 @@ Support this project with a :star:
|
|||||||
|
|
||||||
- name: Use a different commit SHA
|
- name: Use a different commit SHA
|
||||||
id: changed-files-custom-sha
|
id: changed-files-custom-sha
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
sha: ${{ github.event.pull_request.head.sha }}
|
sha: ${{ github.event.pull_request.head.sha }}
|
||||||
|
|
||||||
- name: Use a different base SHA
|
- name: Use a different base SHA
|
||||||
id: changed-files-custom-base-sha
|
id: changed-files-custom-base-sha
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
base_sha: "2096ed0"
|
base_sha: "2096ed0"
|
||||||
|
|
||||||
@@ -243,7 +246,7 @@ Support this project with a :star:
|
|||||||
|
|
||||||
- name: Run changed-files with defaults on the dir1
|
- name: Run changed-files with defaults on the dir1
|
||||||
id: changed-files-for-dir1
|
id: changed-files-for-dir1
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
path: dir1
|
path: dir1
|
||||||
|
|
||||||
@@ -255,7 +258,7 @@ Support this project with a :star:
|
|||||||
|
|
||||||
- name: Run changed-files using the last commit on the remote branch
|
- name: Run changed-files using the last commit on the remote branch
|
||||||
id: changed-files-since-last-remote-commit
|
id: changed-files-since-last-remote-commit
|
||||||
uses: tj-actions/changed-files@v4.0.5
|
uses: tj-actions/changed-files@v5.0.0
|
||||||
with:
|
with:
|
||||||
since_last_remote_commit: "true"
|
since_last_remote_commit: "true"
|
||||||
|
|
||||||
@@ -269,7 +272,7 @@ Support this project with a :star:
|
|||||||
|
|
||||||
> NOTE: :warning:
|
> NOTE: :warning:
|
||||||
>
|
>
|
||||||
> * Spaces in file names can introduce bugs when using bash loops. See: [Issue #216](https://github.com/tj-actions/changed-files/issues/216)
|
> * Spaces in file names can introduce bugs when using bash loops. See: [#216](https://github.com/tj-actions/changed-files/issues/216)
|
||||||
> * However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
|
> * However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
|
||||||
> 
|
> 
|
||||||
|
|
||||||
|
|||||||
47
action.yml
47
action.yml
@@ -12,17 +12,29 @@ inputs:
|
|||||||
required: true
|
required: true
|
||||||
default: " "
|
default: " "
|
||||||
files_from_source_file:
|
files_from_source_file:
|
||||||
description: 'Source file to populate the files input'
|
description: 'Source file(s) to populate the files input'
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
files:
|
files:
|
||||||
description: 'Check for changes using only this list of files (Defaults to the entire repo)'
|
description: 'Check for changes using only this list of files (Defaults to the entire repo)'
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
files-separator:
|
files_separator:
|
||||||
description: 'Separator used to split the files input'
|
description: 'Separator used to split the files input'
|
||||||
default: "\n"
|
default: "\n"
|
||||||
required: false
|
required: false
|
||||||
|
files_ignore:
|
||||||
|
description: 'Ignore changes to this list of files'
|
||||||
|
required: false
|
||||||
|
default: ""
|
||||||
|
files_ignore_separator:
|
||||||
|
description: 'Separator used to split the files-ignore input'
|
||||||
|
default: "\n"
|
||||||
|
required: false
|
||||||
|
files_ignore_from_source_file:
|
||||||
|
description: 'Source file(s) to populate the files-ignore input'
|
||||||
|
required: false
|
||||||
|
default: ""
|
||||||
sha:
|
sha:
|
||||||
description: 'Specify a current commit SHA used for comparing changes'
|
description: 'Specify a current commit SHA used for comparing changes'
|
||||||
required: true
|
required: true
|
||||||
@@ -116,13 +128,35 @@ runs:
|
|||||||
fi
|
fi
|
||||||
id: base-sha
|
id: base-sha
|
||||||
shell: bash
|
shell: bash
|
||||||
|
- run: |
|
||||||
|
bash $GITHUB_ACTION_PATH/diff-sha.sh
|
||||||
|
id: changed-files-diff-sha
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
GITHUB_SERVER_URL: ${{ github.server_url }}
|
||||||
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||||
|
GITHUB_BASE_REF: ${{ github.base_ref }}
|
||||||
|
GITHUB_ACTION_PATH: ${{ github.action_path }}
|
||||||
|
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
|
||||||
|
# https://github.community/t/input-variable-name-is-not-available-in-composite-run-steps/127611
|
||||||
|
INPUT_SHA: ${{ inputs.sha }}
|
||||||
|
INPUT_BASE_SHA: ${{ steps.base-sha.outputs.base_sha }}
|
||||||
|
INPUT_TOKEN: ${{ inputs.token }}
|
||||||
|
INPUT_PATH: ${{ inputs.path }}
|
||||||
- name: Glob match
|
- name: Glob match
|
||||||
uses: tj-actions/glob@v6
|
uses: tj-actions/glob@v7
|
||||||
id: glob
|
id: glob
|
||||||
with:
|
with:
|
||||||
files: ${{ inputs.files }}
|
files: ${{ inputs.files }}
|
||||||
files-separator: ${{ inputs.files-separator }}
|
files-separator: ${{ inputs.files_separator }}
|
||||||
|
excluded-files: ${{ inputs.files_ignore }}
|
||||||
|
excluded-files-separator: ${{ inputs.files_ignore_separator }}
|
||||||
files-from-source-file: ${{ inputs.files_from_source_file }}
|
files-from-source-file: ${{ inputs.files_from_source_file }}
|
||||||
|
excluded-files-from-source-file: ${{ inputs.files_ignore_from_source_file}}
|
||||||
|
working-directory: ${{ inputs.path }}
|
||||||
|
base-sha: ${{ steps.changed-files-diff-sha.outputs.previous_sha }}
|
||||||
|
sha: ${{ steps.changed-files-diff-sha.outputs.current_sha }}
|
||||||
|
include-deleted-files: "true"
|
||||||
separator: "|"
|
separator: "|"
|
||||||
- run: |
|
- run: |
|
||||||
bash $GITHUB_ACTION_PATH/entrypoint.sh
|
bash $GITHUB_ACTION_PATH/entrypoint.sh
|
||||||
@@ -132,6 +166,7 @@ runs:
|
|||||||
GITHUB_SERVER_URL: ${{ github.server_url }}
|
GITHUB_SERVER_URL: ${{ github.server_url }}
|
||||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||||
GITHUB_BASE_REF: ${{ github.base_ref }}
|
GITHUB_BASE_REF: ${{ github.base_ref }}
|
||||||
|
GITHUB_ACTION_PATH: ${{ github.action_path }}
|
||||||
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
|
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
|
||||||
# https://github.community/t/input-variable-name-is-not-available-in-composite-run-steps/127611
|
# https://github.community/t/input-variable-name-is-not-available-in-composite-run-steps/127611
|
||||||
INPUT_SHA: ${{ inputs.sha }}
|
INPUT_SHA: ${{ inputs.sha }}
|
||||||
@@ -140,6 +175,10 @@ runs:
|
|||||||
INPUT_FILES_PATTERN: ${{ steps.glob.outputs.paths }}
|
INPUT_FILES_PATTERN: ${{ steps.glob.outputs.paths }}
|
||||||
INPUT_SEPARATOR: ${{ inputs.separator }}
|
INPUT_SEPARATOR: ${{ inputs.separator }}
|
||||||
INPUT_PATH: ${{ inputs.path }}
|
INPUT_PATH: ${{ inputs.path }}
|
||||||
|
INPUT_PREVIOUS_SHA: ${{ steps.changed-files-diff-sha.outputs.previous_sha }}
|
||||||
|
INPUT_CURRENT_SHA: ${{ steps.changed-files-diff-sha.outputs.current_sha }}
|
||||||
|
INPUT_TARGET_BRANCH: ${{ steps.changed-files-diff-sha.outputs.target_branch }}
|
||||||
|
INPUT_CURRENT_BRANCH: ${{ steps.changed-files-diff-sha.outputs.current_branch }}
|
||||||
|
|
||||||
branding:
|
branding:
|
||||||
icon: file-text
|
icon: file-text
|
||||||
|
|||||||
97
diff-sha.sh
Normal file
97
diff-sha.sh
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "::group::changed-files-diff-sha"
|
||||||
|
|
||||||
|
echo "Resolving repository path..."
|
||||||
|
|
||||||
|
if [[ -n $INPUT_PATH ]]; then
|
||||||
|
REPO_DIR="$GITHUB_WORKSPACE/$INPUT_PATH"
|
||||||
|
if [[ ! -d "$REPO_DIR" ]]; then
|
||||||
|
echo "::warning::Invalid repository path"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd "$REPO_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SERVER_URL=$(echo "$GITHUB_SERVER_URL" | awk -F/ '{print $3}')
|
||||||
|
|
||||||
|
echo "Setting up 'temp_changed_files' remote..."
|
||||||
|
|
||||||
|
git ls-remote --exit-code temp_changed_files 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
||||||
|
|
||||||
|
if [[ $exit_status -ne 0 ]]; then
|
||||||
|
echo "No 'temp_changed_files' remote found"
|
||||||
|
echo "Creating 'temp_changed_files' remote..."
|
||||||
|
git remote remove temp_changed_files 2>/dev/null || true
|
||||||
|
git remote add temp_changed_files "https://${INPUT_TOKEN}@${SERVER_URL}/${GITHUB_REPOSITORY}"
|
||||||
|
else
|
||||||
|
echo "Found 'temp_changed_files' remote"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Getting HEAD info..."
|
||||||
|
|
||||||
|
if [[ -z $INPUT_SHA ]]; then
|
||||||
|
CURRENT_SHA=$(git rev-list --no-merges -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
|
||||||
|
else
|
||||||
|
CURRENT_SHA=$INPUT_SHA && exit_status=$? || exit_status=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
||||||
|
|
||||||
|
if [[ $exit_status -ne 0 ]]; then
|
||||||
|
echo "::warning::Unable to locate the current sha: $CURRENT_SHA"
|
||||||
|
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
|
||||||
|
git remote remove temp_changed_files
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $GITHUB_BASE_REF ]]; then
|
||||||
|
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//}
|
||||||
|
CURRENT_BRANCH=$TARGET_BRANCH
|
||||||
|
|
||||||
|
if [[ -z $INPUT_BASE_SHA ]]; then
|
||||||
|
PREVIOUS_SHA=$(git rev-list --no-merges -n 1 HEAD^1 2>&1) && exit_status=$? || exit_status=$?
|
||||||
|
else
|
||||||
|
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
|
||||||
|
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
||||||
|
|
||||||
|
if [[ $exit_status -ne 0 ]]; then
|
||||||
|
echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA"
|
||||||
|
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
|
||||||
|
git remote remove temp_changed_files
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
TARGET_BRANCH=$GITHUB_BASE_REF
|
||||||
|
CURRENT_BRANCH=$GITHUB_HEAD_REF
|
||||||
|
|
||||||
|
if [[ -z $INPUT_BASE_SHA ]]; then
|
||||||
|
git fetch --no-tags -u --progress --depth=1 temp_changed_files "${TARGET_BRANCH}":"${TARGET_BRANCH}" && exit_status=$? || exit_status=$?
|
||||||
|
PREVIOUS_SHA=$(git rev-list --no-merges -n 1 "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
|
||||||
|
else
|
||||||
|
git fetch --no-tags -u --progress --depth=1 temp_changed_files "$INPUT_BASE_SHA" && exit_status=$? || exit_status=$?
|
||||||
|
PREVIOUS_SHA=$INPUT_BASE_SHA
|
||||||
|
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
||||||
|
|
||||||
|
if [[ $exit_status -ne 0 ]]; then
|
||||||
|
echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA"
|
||||||
|
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
|
||||||
|
git remote remove temp_changed_files
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "::set-output name=target_branch::$TARGET_BRANCH"
|
||||||
|
echo "::set-output name=current_branch::$CURRENT_BRANCH"
|
||||||
|
echo "::set-output name=previous_sha::$PREVIOUS_SHA"
|
||||||
|
echo "::set-output name=current_sha::$CURRENT_SHA"
|
||||||
|
|
||||||
|
echo "::endgroup::"
|
||||||
126
entrypoint.sh
126
entrypoint.sh
@@ -15,113 +15,39 @@ if [[ -n $INPUT_PATH ]]; then
|
|||||||
cd "$REPO_DIR"
|
cd "$REPO_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SERVER_URL=$(echo "$GITHUB_SERVER_URL" | awk -F/ '{print $3}')
|
echo "Retrieving changes between $INPUT_PREVIOUS_SHA ($INPUT_TARGET_BRANCH) → $INPUT_CURRENT_SHA ($INPUT_CURRENT_BRANCH)"
|
||||||
|
|
||||||
echo "Setting up 'temp_changed_files' remote..."
|
|
||||||
|
|
||||||
git ls-remote --exit-code temp_changed_files 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
|
||||||
|
|
||||||
if [[ $exit_status -ne 0 ]]; then
|
|
||||||
echo "No 'temp_changed_files' remote found"
|
|
||||||
echo "Creating 'temp_changed_files' remote..."
|
|
||||||
git remote remove temp_changed_files 2>/dev/null || true
|
|
||||||
git remote add temp_changed_files "https://${INPUT_TOKEN}@${SERVER_URL}/${GITHUB_REPOSITORY}"
|
|
||||||
else
|
|
||||||
echo "Found 'temp_changed_files' remote"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Getting HEAD info..."
|
|
||||||
|
|
||||||
if [[ -z $INPUT_SHA ]]; then
|
|
||||||
CURRENT_SHA=$(git rev-parse HEAD 2>&1) && exit_status=$? || exit_status=$?
|
|
||||||
else
|
|
||||||
CURRENT_SHA=$INPUT_SHA && exit_status=$? || exit_status=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
|
||||||
|
|
||||||
if [[ $exit_status -ne 0 ]]; then
|
|
||||||
echo "::warning::Unable to locate the current sha: $CURRENT_SHA"
|
|
||||||
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
|
|
||||||
git remote remove temp_changed_files
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z $GITHUB_BASE_REF ]]; then
|
|
||||||
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//}
|
|
||||||
CURRENT_BRANCH=$TARGET_BRANCH
|
|
||||||
|
|
||||||
if [[ -z $INPUT_BASE_SHA ]]; then
|
|
||||||
PREVIOUS_SHA=$(git rev-parse HEAD^1 2>&1) && exit_status=$? || exit_status=$?
|
|
||||||
else
|
|
||||||
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
|
|
||||||
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
|
||||||
|
|
||||||
if [[ $exit_status -ne 0 ]]; then
|
|
||||||
echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA"
|
|
||||||
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
|
|
||||||
git remote remove temp_changed_files
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
TARGET_BRANCH=$GITHUB_BASE_REF
|
|
||||||
CURRENT_BRANCH=$GITHUB_HEAD_REF
|
|
||||||
|
|
||||||
if [[ -z $INPUT_BASE_SHA ]]; then
|
|
||||||
git fetch --no-tags -u --progress --depth=1 temp_changed_files "${TARGET_BRANCH}":"${TARGET_BRANCH}" && exit_status=$? || exit_status=$?
|
|
||||||
PREVIOUS_SHA=$(git rev-parse "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
|
|
||||||
else
|
|
||||||
git fetch --no-tags -u --progress --depth=1 temp_changed_files "$INPUT_BASE_SHA" && exit_status=$? || exit_status=$?
|
|
||||||
PREVIOUS_SHA=$INPUT_BASE_SHA
|
|
||||||
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
|
|
||||||
|
|
||||||
if [[ $exit_status -ne 0 ]]; then
|
|
||||||
echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA"
|
|
||||||
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
|
|
||||||
git remote remove temp_changed_files
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Retrieving changes between $PREVIOUS_SHA ($TARGET_BRANCH) → $CURRENT_SHA ($CURRENT_BRANCH)"
|
|
||||||
|
|
||||||
echo "Getting diff..."
|
echo "Getting diff..."
|
||||||
|
|
||||||
if [[ -z "$INPUT_FILES_PATTERN" ]]; then
|
if [[ -z "$INPUT_FILES_PATTERN" ]]; then
|
||||||
ADDED=$(git diff --submodule=diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
ADDED=$(git diff --submodule=diff --diff-filter=A --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
COPIED=$(git diff --submodule=diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
COPIED=$(git diff --submodule=diff --diff-filter=C --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
DELETED=$(git diff --submodule=diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
DELETED=$(git diff --submodule=diff --diff-filter=D --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
MODIFIED=$(git diff --submodule=diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
MODIFIED=$(git diff --submodule=diff --diff-filter=M --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
RENAMED=$(git diff --submodule=diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
RENAMED=$(git diff --submodule=diff --diff-filter=R --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
TYPE_CHANGED=$(git diff --submodule=diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
TYPE_CHANGED=$(git diff --submodule=diff --diff-filter=T --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNMERGED=$(git diff --submodule=diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNMERGED=$(git diff --submodule=diff --diff-filter=U --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNKNOWN=$(git diff --submodule=diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNKNOWN=$(git diff --submodule=diff --diff-filter=X --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
ALL_CHANGED_AND_MODIFIED=$(git diff --submodule=diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_CHANGED_AND_MODIFIED=$(git diff --submodule=diff --diff-filter="*ACDMRTUX" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
ALL_CHANGED=$(git diff --submodule=diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_CHANGED=$(git diff --submodule=diff --diff-filter="ACMR" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
ALL_MODIFIED=$(git diff --submodule=diff --diff-filter="ACMRD" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_MODIFIED=$(git diff --submodule=diff --diff-filter="ACMRD" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
else
|
else
|
||||||
echo "Input files pattern: $INPUT_FILES_PATTERN"
|
echo "Input files pattern: $INPUT_FILES_PATTERN"
|
||||||
FILES_PATTERN="^($INPUT_FILES_PATTERN)$"
|
FILES_PATTERN="^($INPUT_FILES_PATTERN)$"
|
||||||
|
|
||||||
ADDED=$(git diff --submodule=diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ADDED=$(git diff --submodule=diff --diff-filter=A --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
COPIED=$(git diff --submodule=diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
COPIED=$(git diff --submodule=diff --diff-filter=C --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
DELETED=$(git diff --submodule=diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
DELETED=$(git diff --submodule=diff --diff-filter=D --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
MODIFIED=$(git diff --submodule=diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
MODIFIED=$(git diff --submodule=diff --diff-filter=M --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
RENAMED=$(git diff --submodule=diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
RENAMED=$(git diff --submodule=diff --diff-filter=R --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
TYPE_CHANGED=$(git diff --submodule=diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
TYPE_CHANGED=$(git diff --submodule=diff --diff-filter=T --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNMERGED=$(git diff --submodule=diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNMERGED=$(git diff --submodule=diff --diff-filter=U --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNKNOWN=$(git diff --submodule=diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNKNOWN=$(git diff --submodule=diff --diff-filter=X --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
ALL_CHANGED_AND_MODIFIED=$(git diff --submodule=diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_CHANGED_AND_MODIFIED=$(git diff --submodule=diff --diff-filter="*ACDMRTUX" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
ALL_CHANGED=$(git diff --submodule=diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_CHANGED=$(git diff --submodule=diff --diff-filter="ACMR" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
ALL_MODIFIED=$(git diff --submodule=diff --diff-filter="ACMRD" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_MODIFIED=$(git diff --submodule=diff --diff-filter="ACMRD" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
|
|
||||||
ALL_OTHER_CHANGED=$(git diff --submodule=diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_OTHER_CHANGED=$(git diff --submodule=diff --diff-filter="ACMR" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNIQUE_ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNIQUE_ALL_CHANGED=$(echo "${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
|
|
||||||
if [[ -n "${UNIQUE_ALL_CHANGED}" ]]; then
|
if [[ -n "${UNIQUE_ALL_CHANGED}" ]]; then
|
||||||
@@ -151,7 +77,7 @@ else
|
|||||||
echo "::set-output name=only_changed::true"
|
echo "::set-output name=only_changed::true"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ALL_OTHER_MODIFIED=$(git diff --diff-filter="ACMRD" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_OTHER_MODIFIED=$(git diff --diff-filter="ACMRD" --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNIQUE_ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNIQUE_ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
|
|
||||||
if [[ -n "${UNIQUE_ALL_MODIFIED}" ]]; then
|
if [[ -n "${UNIQUE_ALL_MODIFIED}" ]]; then
|
||||||
@@ -181,7 +107,7 @@ else
|
|||||||
echo "::set-output name=only_modified::true"
|
echo "::set-output name=only_modified::true"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ALL_OTHER_DELETED=$(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
ALL_OTHER_DELETED=$(git diff --diff-filter=D --name-only "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
UNIQUE_ALL_DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
UNIQUE_ALL_DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk '!a[$0]++' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||||
|
|
||||||
if [[ -n "${UNIQUE_ALL_DELETED}" ]]; then
|
if [[ -n "${UNIQUE_ALL_DELETED}" ]]; then
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
This is a test file
|
This is a test file.
|
||||||
|
|||||||
Reference in New Issue
Block a user