Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68bd279d40 |
2
.github/workflows/sync-release-version.yml
vendored
2
.github/workflows/sync-release-version.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
with:
|
||||
output: 'HISTORY.md'
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3.12.1
|
||||
uses: peter-evans/create-pull-request@v3.12.0
|
||||
with:
|
||||
base: "main"
|
||||
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"
|
||||
|
||||
44
.github/workflows/test.yml
vendored
44
.github/workflows/test.yml
vendored
@@ -222,22 +222,22 @@ jobs:
|
||||
files: |
|
||||
.github/workflows/test.yml
|
||||
action.yml
|
||||
**/test.txt
|
||||
!test/test/test.txt
|
||||
test/changed-files-list.txt
|
||||
!**/*.txt
|
||||
- name: Show output
|
||||
run: |
|
||||
echo '${{ toJSON(steps.changed-files-specific.outputs) }}'
|
||||
shell:
|
||||
bash
|
||||
- name: Check if a excluded file is not included in any_changed
|
||||
if: "contains(steps.changed-files-specific.outputs.all_changed_files, 'test/test/test.txt')"
|
||||
if: "contains(steps.changed-files-specific.outputs.all_changed_files, 'test/changed-files-list.txt')"
|
||||
run: |
|
||||
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific.outputs.all_changed_files }})"
|
||||
echo "Invalid output: Expected not to include (test/changed-files-list.txt) got (${{ steps.changed-files-specific.outputs.all_changed_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_changed for specific files
|
||||
if: "!contains(steps.changed-files-specific.outputs.all_changed_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.all_changed_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific.outputs.all_changed_files, 'test/test.txt')"
|
||||
if: "!contains(steps.changed-files-specific.outputs.all_changed_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.all_changed_files, '.github/workflows/test.yml')"
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific.outputs.any_changed }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_changed }})"
|
||||
@@ -246,14 +246,14 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Check if a excluded file is not included in any_modified
|
||||
if: "contains(steps.changed-files-specific.outputs.all_modified_files, 'test/test/test.txt')"
|
||||
if: "contains(steps.changed-files-specific.outputs.all_modified_files, 'test/changed-files-list.txt')"
|
||||
run: |
|
||||
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific.outputs.all_modified_files }})"
|
||||
echo "Invalid output: Expected not to include (test/changed-files-list.txt) got (${{ steps.changed-files-specific.outputs.all_modified_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_modified for specific files
|
||||
if: "!contains(steps.changed-files-specific.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.all_modified_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific.outputs.all_modified_files, 'test/test.txt')"
|
||||
if: "!contains(steps.changed-files-specific.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.all_modified_files, '.github/workflows/test.yml')"
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific.outputs.any_modified }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_modified }})"
|
||||
@@ -262,14 +262,14 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Check if a excluded file is not included in any_deleted
|
||||
if: "contains(steps.changed-files-specific.outputs.deleted_files, 'test/test/test.txt')"
|
||||
if: "contains(steps.changed-files-specific.outputs.deleted_files, 'test/changed-files-list.txt')"
|
||||
run: |
|
||||
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific.outputs.deleted_files }})"
|
||||
echo "Invalid output: Expected not to include (test/changed-files-list.txt) got (${{ steps.changed-files-specific.outputs.deleted_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_deleted for specific files
|
||||
if: "!contains(steps.changed-files-specific.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.deleted_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific.outputs.deleted_files, 'test/test.txt')"
|
||||
if: "!contains(steps.changed-files-specific.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific.outputs.deleted_files, '.github/workflows/test.yml')"
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific.outputs.any_deleted }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_deleted }})"
|
||||
@@ -450,9 +450,9 @@ jobs:
|
||||
files: |
|
||||
**/workflows/rebase.yml
|
||||
- name: Check if a excluded file is not included in any_changed
|
||||
if: contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test/test.txt')
|
||||
if: contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/changed-files-list.txt')
|
||||
run: |
|
||||
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific-source-file.outputs.all_changed_files }})"
|
||||
echo "Invalid output: Expected not to include (test/changed-files-list.txt) got (${{ steps.changed-files-specific-source-file.outputs.all_changed_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
@@ -461,8 +461,7 @@ jobs:
|
||||
(
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/rebase.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, 'test/test.txt')
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_changed_files, '.github/workflows/rebase.yml')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_changed }}" != "false" ]]; then
|
||||
@@ -472,9 +471,9 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Check if a excluded file is not included in any_modified
|
||||
if: contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test/test.txt')
|
||||
if: contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/changed-files-list.txt')
|
||||
run: |
|
||||
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific-source-file.outputs.all_modified_files }})"
|
||||
echo "Invalid output: Expected not to include (test/changed-files-list.txt) got (${{ steps.changed-files-specific-source-file.outputs.all_modified_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
@@ -483,8 +482,7 @@ jobs:
|
||||
(
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'action.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/rebase.yml') &&
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'test/test.txt')
|
||||
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/rebase.yml')
|
||||
)
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_modified }}" != "false" ]]; then
|
||||
@@ -494,14 +492,14 @@ jobs:
|
||||
shell:
|
||||
bash
|
||||
- name: Check if a excluded file is not included in any_deleted
|
||||
if: contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test/test.txt')
|
||||
if: contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/changed-files-list.txt')
|
||||
run: |
|
||||
echo "Invalid output: Expected not to include (test/test/test.txt) got (${{ steps.changed-files-specific-source-file.outputs.deleted_files }})"
|
||||
echo "Invalid output: Expected not to include (test/changed-files-list.txt) got (${{ steps.changed-files-specific-source-file.outputs.deleted_files }})"
|
||||
exit 1
|
||||
shell:
|
||||
bash
|
||||
- name: Verify any_deleted from source files
|
||||
if: "!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/test.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'test/test.txt')"
|
||||
if: "!contains(steps.changed-files-specific-source-file.outputs.deleted_files, 'action.yml') && !contains(steps.changed-files-specific-source-file.outputs.deleted_files, '.github/workflows/test.yml')"
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_deleted }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-source-file.outputs.any_deleted }})"
|
||||
@@ -615,7 +613,7 @@ jobs:
|
||||
if: steps.changed-files-specific-only-changed.outputs.other_deleted_files != ''
|
||||
run: |
|
||||
if [[ "${{ steps.changed-files-specific-only-changed.outputs.only_deleted }}" != "false" ]]; then
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-only-changed.outputs.only_deleted }})."
|
||||
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-only-changed.outputs.only_deleted }})"
|
||||
exit 1
|
||||
fi
|
||||
shell:
|
||||
|
||||
2
.github/workflows/update-readme.yml
vendored
2
.github/workflows/update-readme.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request
|
||||
if: failure()
|
||||
uses: peter-evans/create-pull-request@v3.12.1
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
base: "main"
|
||||
title: "Updated README.md"
|
||||
|
||||
101
HISTORY.md
101
HISTORY.md
@@ -1,106 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## [v4.0.4](https://github.com/tj-actions/changed-files/tree/v4.0.4) (2022-02-08)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14.3...v4.0.4)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Files detected as changed that are not part of PR [\#345](https://github.com/tj-actions/changed-files/issues/345)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- chore: expose internal files-separator input [\#346](https://github.com/tj-actions/changed-files/pull/346) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v14.3 [\#343](https://github.com/tj-actions/changed-files/pull/343) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v14.3](https://github.com/tj-actions/changed-files/tree/v14.3) (2022-02-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.3...v14.3)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Upgraded to v4.0.3 [\#342](https://github.com/tj-actions/changed-files/pull/342) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v4.0.3](https://github.com/tj-actions/changed-files/tree/v4.0.3) (2022-02-02)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14.2...v4.0.3)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Action flips forward slash into backslash resulting in match failure. [\#340](https://github.com/tj-actions/changed-files/issues/340)
|
||||
- \[BUG\] Getting Error: `uses:` keyword is not currently supported when using above 12.2 version [\#333](https://github.com/tj-actions/changed-files/issues/333)
|
||||
- \[BUG\] Investigate possible bug using since\_last\_remote\_commit when force pushing changes. [\#303](https://github.com/tj-actions/changed-files/issues/303)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fix: resolve bug with pattern matching on windows [\#341](https://github.com/tj-actions/changed-files/pull/341) ([jackton1](https://github.com/jackton1))
|
||||
- Upgraded to v14.2 [\#339](https://github.com/tj-actions/changed-files/pull/339) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v14.2](https://github.com/tj-actions/changed-files/tree/v14.2) (2022-02-01)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.2...v14.2)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- \[BUG\] Negating filter doesn't work [\#335](https://github.com/tj-actions/changed-files/issues/335)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Upgraded to v4.0.2 [\#338](https://github.com/tj-actions/changed-files/pull/338) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v4.0.2](https://github.com/tj-actions/changed-files/tree/v4.0.2) (2022-02-01)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14.1...v4.0.2)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- bug: resolve issue with excluding files via glob pattern [\#337](https://github.com/tj-actions/changed-files/pull/337) ([jackton1](https://github.com/jackton1))
|
||||
- Bump peter-evans/create-pull-request from 3.12.0 to 3.12.1 [\#334](https://github.com/tj-actions/changed-files/pull/334) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||
- Upgraded to v14.1 [\#332](https://github.com/tj-actions/changed-files/pull/332) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v14.1](https://github.com/tj-actions/changed-files/tree/v14.1) (2022-01-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.1...v14.1)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Upgraded to v4.0.1 [\#331](https://github.com/tj-actions/changed-files/pull/331) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v4.0.1](https://github.com/tj-actions/changed-files/tree/v4.0.1) (2022-01-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v14...v4.0.1)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- bug: Fix command to narrow down target files [\#330](https://github.com/tj-actions/changed-files/pull/330) ([massongit](https://github.com/massongit))
|
||||
- Upgraded to v14 [\#329](https://github.com/tj-actions/changed-files/pull/329) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v14](https://github.com/tj-actions/changed-files/tree/v14) (2022-01-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v4.0.0...v14)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Upgraded to v4.0.0 [\#328](https://github.com/tj-actions/changed-files/pull/328) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v4.0.0](https://github.com/tj-actions/changed-files/tree/v4.0.0) (2022-01-26)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v13.2...v4.0.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Clean up variable name to reflect usage. [\#327](https://github.com/tj-actions/changed-files/pull/327) ([jackton1](https://github.com/jackton1))
|
||||
- Narrow down target files by exact match of INPUT\_FILES [\#326](https://github.com/tj-actions/changed-files/pull/326) ([massongit](https://github.com/massongit))
|
||||
- Upgraded to v13.2 [\#325](https://github.com/tj-actions/changed-files/pull/325) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v13.2](https://github.com/tj-actions/changed-files/tree/v13.2) (2022-01-25)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v3.0.2...v13.2)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Upgraded to v3.0.2 [\#324](https://github.com/tj-actions/changed-files/pull/324) ([jackton1](https://github.com/jackton1))
|
||||
|
||||
## [v3.0.2](https://github.com/tj-actions/changed-files/tree/v3.0.2) (2022-01-25)
|
||||
|
||||
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v3.0.1...v3.0.2)
|
||||
|
||||
28
README.md
28
README.md
@@ -1,5 +1,5 @@
|
||||
[](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://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)
|
||||
@@ -21,9 +21,8 @@ Retrieve all changed files relative to the default branch (`pull_request*` based
|
||||
* Easy to debug.
|
||||
* Boolean output indicating that certain files have been changed.
|
||||
* Multiple repositories 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.
|
||||
* [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) support.
|
||||
* Runs on self hosted runners.
|
||||
* GitHub Enterprise Server support.
|
||||
* Monorepos (Fetches only the last remote commit).
|
||||
* Supports all platforms (Linux, MacOS, Windows).
|
||||
* List all files that have changed.
|
||||
@@ -65,7 +64,7 @@ jobs:
|
||||
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
|
||||
- name: List all changed files
|
||||
run: |
|
||||
@@ -127,7 +126,6 @@ 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) |
|
||||
| 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-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 |
|
||||
| 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 |
|
||||
@@ -143,11 +141,11 @@ Support this project with a :star:
|
||||
|
||||
- name: Get changed files using defaults
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
|
||||
- name: Get changed files using a comma separator
|
||||
id: changed-files-comma
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
separator: ","
|
||||
|
||||
@@ -169,7 +167,7 @@ Support this project with a :star:
|
||||
|
||||
- name: Get specific changed files
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
files: |
|
||||
my-file.txt
|
||||
@@ -208,14 +206,14 @@ Support this project with a :star:
|
||||
|
||||
- name: Use a source file or list of file(s) to populate to files input.
|
||||
id: changed-files-specific-source-file
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
files_from_source_file: |
|
||||
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.
|
||||
id: changed-files-specific-source-file-and-specify-files
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
files_from_source_file: |
|
||||
test/changed-files-list.txt
|
||||
@@ -224,13 +222,13 @@ Support this project with a :star:
|
||||
|
||||
- name: Use a different commit SHA
|
||||
id: changed-files-custom-sha
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
sha: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: Use a different base SHA
|
||||
id: changed-files-custom-base-sha
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
base_sha: "2096ed0"
|
||||
|
||||
@@ -242,7 +240,7 @@ Support this project with a :star:
|
||||
|
||||
- name: Run changed-files with defaults on the dir1
|
||||
id: changed-files-for-dir1
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
path: dir1
|
||||
|
||||
@@ -254,7 +252,7 @@ Support this project with a :star:
|
||||
|
||||
- name: Run changed-files using the last commit on the remote branch
|
||||
id: changed-files-since-last-remote-commit
|
||||
uses: tj-actions/changed-files@v4.0.4
|
||||
uses: tj-actions/changed-files@v3.0.2
|
||||
with:
|
||||
since_last_remote_commit: "true"
|
||||
|
||||
|
||||
22
action.yml
22
action.yml
@@ -19,10 +19,6 @@ inputs:
|
||||
description: 'Check for changes using only this list of files (Defaults to the entire repo)'
|
||||
required: false
|
||||
default: ""
|
||||
files-separator:
|
||||
description: 'Separator used to split the files input'
|
||||
default: "\n"
|
||||
required: false
|
||||
sha:
|
||||
description: 'Specify a current commit SHA used for comparing changes'
|
||||
required: true
|
||||
@@ -116,13 +112,21 @@ runs:
|
||||
fi
|
||||
id: base-sha
|
||||
shell: bash
|
||||
- run: |
|
||||
bash $GITHUB_ACTION_PATH/sourcefiles.sh
|
||||
id: source-input-files
|
||||
shell: bash
|
||||
env:
|
||||
# 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_FILES: ${{ inputs.files }}
|
||||
INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }}
|
||||
- name: Glob match
|
||||
uses: tj-actions/glob@v6
|
||||
uses: tj-actions/glob@v3.3
|
||||
id: glob
|
||||
with:
|
||||
files: ${{ inputs.files }}
|
||||
files-separator: ${{ inputs.files-separator }}
|
||||
files-from-source-file: ${{ inputs.files_from_source_file }}
|
||||
files: ${{ steps.source-input-files.outputs.files }}
|
||||
files-separator: " "
|
||||
separator: "|"
|
||||
- run: |
|
||||
bash $GITHUB_ACTION_PATH/entrypoint.sh
|
||||
@@ -137,7 +141,7 @@ runs:
|
||||
INPUT_SHA: ${{ inputs.sha }}
|
||||
INPUT_BASE_SHA: ${{ steps.base-sha.outputs.base_sha }}
|
||||
INPUT_TOKEN: ${{ inputs.token }}
|
||||
INPUT_FILES_PATTERN: ${{ steps.glob.outputs.paths }}
|
||||
INPUT_FILES: ${{ steps.glob.outputs.paths }}
|
||||
INPUT_SEPARATOR: ${{ inputs.separator }}
|
||||
INPUT_PATH: ${{ inputs.path }}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ echo "Retrieving changes between $PREVIOUS_SHA ($TARGET_BRANCH) → $CURRENT_SHA
|
||||
|
||||
echo "Getting diff..."
|
||||
|
||||
if [[ -z "$INPUT_FILES_PATTERN" ]]; then
|
||||
if [[ -z "${INPUT_FILES[*]}" ]]; then
|
||||
ADDED=$(git 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}')
|
||||
COPIED=$(git 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}')
|
||||
DELETED=$(git 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}')
|
||||
@@ -106,20 +106,19 @@ if [[ -z "$INPUT_FILES_PATTERN" ]]; then
|
||||
ALL_CHANGED=$(git 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_MODIFIED=$(git 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}')
|
||||
else
|
||||
echo "Input files pattern: $INPUT_FILES_PATTERN"
|
||||
FILES_PATTERN="^($INPUT_FILES_PATTERN)$"
|
||||
echo "Input files: $INPUT_FILES"
|
||||
|
||||
ADDED=$(git 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}')
|
||||
COPIED=$(git 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}')
|
||||
DELETED=$(git 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}')
|
||||
MODIFIED=$(git 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}')
|
||||
RENAMED=$(git 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}')
|
||||
TYPE_CHANGED=$(git 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}')
|
||||
UNMERGED=$(git 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}')
|
||||
UNKNOWN=$(git 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}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(git 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=$(git 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_MODIFIED=$(git 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}')
|
||||
ADDED=$(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
COPIED=$(git diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
DELETED=$(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
MODIFIED=$(git diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
RENAMED=$(git diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
TYPE_CHANGED=$(git diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNMERGED=$(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
UNKNOWN=$(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED_AND_MODIFIED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_CHANGED=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
ALL_MODIFIED=$(git diff --diff-filter="ACMRD" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${INPUT_FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
|
||||
|
||||
ALL_OTHER_CHANGED=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$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}')
|
||||
|
||||
30
sourcefiles.sh
Normal file
30
sourcefiles.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "::group::changed-files-from-source-file"
|
||||
|
||||
RAW_FILES=()
|
||||
|
||||
if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then
|
||||
for file in $INPUT_FILES_FROM_SOURCE_FILE
|
||||
do
|
||||
while read -r fileName; do
|
||||
RAW_FILES+=("$fileName")
|
||||
done <"$file"
|
||||
done
|
||||
fi
|
||||
|
||||
IFS=" " read -r -a CLEAN_FILES <<< "$(echo "${RAW_FILES[*]}" | tr "\r\n" "\n" | tr " " "\n" | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')"
|
||||
|
||||
IFS=" " read -r -a CLEAN_INPUT_FILES <<< "$(echo "${INPUT_FILES}" | tr "\r\n" "\n" | tr " " "\n" | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')"
|
||||
|
||||
FILES=("${CLEAN_FILES[@]}" "${CLEAN_INPUT_FILES[@]}")
|
||||
|
||||
IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr "\r\n" "\n" | tr " " "\n" | awk '!a[$0]++' | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')"
|
||||
|
||||
echo "Input files: ${ALL_UNIQUE_FILES[*]}"
|
||||
|
||||
echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}"
|
||||
|
||||
echo "::endgroup::"
|
||||
@@ -2,5 +2,5 @@
|
||||
action.yml
|
||||
action.yml
|
||||
action.yml
|
||||
**/test.txt
|
||||
!test/test/test.txt
|
||||
test/changed-files-list.txt
|
||||
!**/*.txt
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
This is a test file
|
||||
@@ -1 +0,0 @@
|
||||
This is a test file
|
||||
Reference in New Issue
Block a user