Compare commits

...

76 Commits
v5 ... v6

Author SHA1 Message Date
Tonye Jack
2ecd06deb6 Added usage link to warning message (#84) 2021-05-26 18:01:44 -04:00
Renovate Bot
ba98ceed2d Update pascalgn/automerge-action action to v0.14.2 2021-05-26 21:43:50 +00:00
Tonye Jack
518dba3e05 Update README.md (#82) 2021-05-25 17:39:15 -04:00
Tonye Jack
0389470572 Updated renovate.json 2021-05-25 08:39:01 -04:00
Tonye Jack
8f723a129d Updated .github/workflows/auto-approve.yml 2021-05-25 00:49:42 -04:00
Tonye Jack
5fe8e4d604 Update test.yml (#81) 2021-05-25 00:30:19 -04:00
Tonye Jack
d093818ffe Update README.md 2021-05-24 16:02:02 -04:00
dependabot[bot]
7de38c4c75 Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.9.2 to 3.10.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.9.2...v3.10.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 03:53:27 -04:00
Tonye Jack
c2b58adcbd Switch to a docker based action (#78) 2021-05-21 08:39:56 -04:00
Tonye Jack
933ad04651 Update README.md 2021-05-21 08:39:22 -04:00
Tonye Jack
bc50a219c9 Update test.yml 2021-05-21 08:11:59 -04:00
Tonye Jack
fa61b8872b Update README.md 2021-05-21 07:41:56 -04:00
Tonye Jack
14f6eca8a5 Update README.md 2021-05-17 07:10:31 -04:00
Tonye Jack
ca530b2cc6 Exit with error when HEAD sha is empty (#77) 2021-05-17 04:39:42 -04:00
Tonye Jack
d6a0e35f63 Upgraded to v6.2 (#76)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-17 04:32:59 -04:00
Tonye Jack
83365da33e Update README.md (#72) 2021-05-17 04:28:00 -04:00
Tonye Jack
4a37137ae0 Update test.yml 2021-05-17 04:26:35 -04:00
Tonye Jack
391126c25c Update test.yml 2021-05-17 04:19:10 -04:00
Tonye Jack
fe86615f16 Update action.yml 2021-05-17 04:14:23 -04:00
Tonye Jack
1c561c0270 Update action.yml 2021-05-17 04:07:57 -04:00
Tonye Jack
51d97e3330 Remove unused line (#75) 2021-05-17 04:05:25 -04:00
Tonye Jack
49e4a65bc2 Fixed bug with trailing separator (#74) 2021-05-17 04:02:50 -04:00
Tonye Jack
3f4565907d Update action.yml (#73) 2021-05-16 16:33:09 -04:00
Tonye Jack
060d09a82f Improve test coverage (#71) 2021-05-16 16:26:22 -04:00
Tonye Jack
550d248e17 Update action.yml (#70) 2021-05-16 16:12:12 -04:00
Tonye Jack
03b96b1ee4 Upgraded to v6.1 (#69)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-16 15:49:03 -04:00
Tonye Jack
7c66aa285d Fixed bug with any_changed boolean (#68)
Closes: #67
2021-05-16 15:43:33 -04:00
Renovate Bot
8fac2f4376 Update cirrus-actions/rebase action to v1.5 2021-05-16 02:11:53 +00:00
Tonye Jack
fb196bcc0b Upgraded to v6 (#64)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-14 14:01:36 -04:00
Tonye Jack
a35dac8406 Update README.md 2021-05-14 07:38:18 -04:00
dependabot[bot]
338eaa4eac Bump peter-evans/create-pull-request from 3.9.1 to 3.9.2
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.9.1 to 3.9.2.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.9.1...v3.9.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-14 02:45:20 -04:00
Tonye Jack
ac8a08a71b Deprecate all_changed output. (#62) 2021-05-13 16:57:44 -04:00
Tonye Jack
1c8bd519b4 Update README.md 2021-05-13 07:08:08 -04:00
dependabot[bot]
745cc73fef Bump peter-evans/create-pull-request from 3 to 3.9.1 (#61)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 11:44:13 -04:00
dependabot[bot]
a0089a8516 Bump actions/checkout from 2 to 2.3.4 (#60)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 11:44:03 -04:00
Tonye Jack
277a3bc1fc Updated .github/workflows/auto-merge.yml 2021-05-12 08:36:10 -04:00
Tonye Jack
2640644727 Updated .github/workflows/auto-merge.yml 2021-05-11 19:11:19 -04:00
Tonye Jack
557228b7f1 Updated .github/workflows/auto-merge.yml 2021-05-11 11:28:34 -04:00
Tonye Jack
9f7f868dd0 Updated .github/workflows/auto-merge.yml 2021-05-11 11:20:19 -04:00
Tonye Jack
1f4d9f16e1 Added .github/workflows/auto-merge.yml 2021-05-11 11:07:56 -04:00
Tonye Jack
16dd720838 Update README.md 2021-05-09 06:19:06 -04:00
Tonye Jack
afa4cd137b Upgraded to v5.3 (#57)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-08 20:06:42 -04:00
Tonye Jack
47c1f9d2a2 Fixed typo (#58) 2021-05-08 20:06:24 -04:00
Tonye Jack
e95bba87d2 Add warning message when the head sha is empty (#56) 2021-05-08 19:30:57 -04:00
Tonye Jack
c100db569a Update README.md 2021-05-08 12:27:29 -04:00
Tonye Jack
e203fd51b1 Update README.md 2021-05-08 12:25:18 -04:00
renovate[bot]
7c4db0c506 Update tj-actions/sync-release-version action to v8.6 (#55)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-08 07:30:44 -04:00
Tonye Jack
95552d2a29 Update README.md 2021-05-07 17:46:34 -04:00
Tonye Jack
da947a8087 Update README.md 2021-05-07 17:45:37 -04:00
Tonye Jack
abde5f3ab5 Update README.md 2021-05-07 17:37:53 -04:00
Tonye Jack
37a7be0dd3 Update README.md 2021-05-07 08:29:00 -04:00
Tonye Jack
d183729cfc Added visual spacing. 2021-05-06 17:31:39 -04:00
Tonye Jack
9dbc29a0f2 Update README.md 2021-05-06 09:25:34 -04:00
Tonye Jack
6b13d1de24 Upgraded to v5.2 (#53)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-06 08:56:50 -04:00
Tonye Jack
41a918a6d0 Update README.md 2021-05-06 08:56:35 -04:00
Tonye Jack
8a0216cea1 Update README.md 2021-05-06 08:55:56 -04:00
Tonye Jack
edd01e091f Update README.md 2021-05-06 08:54:34 -04:00
Tonye Jack
7852058eee Fixed bug reading username
```
fatal: could not read Username for 'github.com': No such device or address
```
2021-05-06 08:44:56 -04:00
Tonye Jack
a5b0000bd1 Update README.md 2021-05-05 03:43:47 -04:00
Tonye Jack
b49c7a478a Update README.md 2021-05-05 03:42:51 -04:00
renovate[bot]
d7ab28fff8 Update tj-actions/github-changelog-generator action to v1.8 (#52)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-04 15:45:11 -04:00
Tonye Jack
ee67c3ebe9 Update README.md 2021-05-04 14:08:52 -04:00
Tonye Jack
1046f8a4de Update README.md 2021-05-04 14:07:18 -04:00
Tonye Jack
b6e5d26963 Update README.md 2021-05-04 13:54:08 -04:00
Tonye Jack
5f050e0b7a Update README.md 2021-05-04 13:53:26 -04:00
Tonye Jack
5b2a45c658 Update README.md 2021-05-03 13:29:37 -04:00
Tonye Jack
ca62688ed8 Update README.md 2021-05-02 07:53:27 -04:00
Tonye Jack
a6145b548a Update README.md 2021-05-01 20:16:27 -04:00
Tonye Jack
88db9d9fcc Update README.md 2021-05-01 20:15:41 -04:00
Tonye Jack
8239cbf938 Upgraded to v5.1 (#51)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-01 20:14:02 -04:00
Tonye Jack
81f32e2402 Strip leading whitespaces (#50) 2021-05-01 19:58:35 -04:00
Tonye Jack
93ab2f259e Upgraded to v5 (#49)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-01 19:22:52 -04:00
Tonye Jack
05fe5a1454 Update README.md (#48) 2021-05-01 19:17:05 -04:00
Tonye Jack
e2bd4f229f Update action.yml 2021-05-01 19:09:08 -04:00
Tonye Jack
5c76029233 Update action.yml 2021-05-01 19:00:26 -04:00
Tonye Jack
9d404b88a1 Upgraded to v5.3 (#47)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-05-01 16:38:20 -04:00
10 changed files with 390 additions and 229 deletions

View File

@@ -7,17 +7,26 @@ jobs:
auto-approve:
runs-on: ubuntu-latest
steps:
- uses: hmarr/auto-approve-action@v2
if: |
github.actor == 'dependabot[bot]' ||
github.actor == 'dependabot' ||
github.actor == 'dependabot-preview[bot]' ||
github.actor == 'dependabot-preview' ||
github.actor == 'renovate[bot]' ||
github.actor == 'renovate' ||
github.actor == 'pyup-bot' ||
github.actor == 'github-actions[bot]' ||
github.actor == 'pre-commit-ci' ||
github.actor == 'pre-commit-ci[bot]'
with:
github-token: ${{ secrets.PAT_TOKEN }}
- uses: hmarr/auto-approve-action@v2
if: |
(
github.event.pull_request.user.login == 'dependabot[bot]' ||
github.event.pull_request.user.login == 'dependabot' ||
github.event.pull_request.user.login == 'dependabot-preview[bot]' ||
github.event.pull_request.user.login == 'dependabot-preview' ||
github.event.pull_request.user.login == 'renovate[bot]' ||
github.event.pull_request.user.login == 'renovate' ||
github.event.pull_request.user.login == 'github-actions[bot]'
)
&&
(
github.actor == 'dependabot[bot]' ||
github.actor == 'dependabot' ||
github.actor == 'dependabot-preview[bot]' ||
github.actor == 'dependabot-preview' ||
github.actor == 'renovate[bot]' ||
github.actor == 'renovate' ||
github.actor == 'github-actions[bot]'
)
with:
github-token: ${{ secrets.PAT_TOKEN }}

23
.github/workflows/auto-merge.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: automerge
on:
check_suite:
types:
- rerequested
- completed
jobs:
automerge:
runs-on: ubuntu-latest
if: |
github.actor == 'dependabot[bot]' ||
github.actor == 'dependabot'
steps:
- name: automerge
uses: pascalgn/automerge-action@v0.14.2
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
MERGE_METHOD: "rebase"
UPDATE_METHOD: "rebase"
MERGE_RETRIES: "6"
MERGE_RETRY_SLEEP: "100000"
MERGE_LABELS: ""

View File

@@ -8,11 +8,11 @@ jobs:
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2.3.4
with:
token: ${{ secrets.PAT_TOKEN }}
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.4
uses: cirrus-actions/rebase@1.5
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}

View File

@@ -8,22 +8,22 @@ jobs:
update-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
- name: Sync release version.
uses: tj-actions/sync-release-version@v8.5
uses: tj-actions/sync-release-version@v8.6
id: sync-release-version
with:
pattern: '${{ github.repository }}@'
paths: |
README.md
- name: Generate CHANGELOG
uses: tj-actions/github-changelog-generator@v1.6
uses: tj-actions/github-changelog-generator@v1.8
with:
output: 'HISTORY.md'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v3.10.0
with:
base: "main"
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"

View File

@@ -4,19 +4,38 @@ on:
push:
branches:
- main
- '**'
pull_request:
branches:
- main
jobs:
test-no-head-sha:
runs-on: ubuntu-latest
name: Test changed-files missing head sha
steps:
- name: Checkout to branch
uses: actions/checkout@v2
- name: Run changed-files with defaults
id: changed-files
continue-on-error: true
uses: ./
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files.outputs) }}"
test:
runs-on: ubuntu-latest
name: Test changed-files
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.5
- name: Run changed-files with defaults
id: changed-files
uses: ./
@@ -45,8 +64,15 @@ jobs:
uses: ./
with:
files: |
action.yml
.github/workflows/test.yml
action.yml
- name: Verify any_changed 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')"
run: |
if [[ "${{ steps.changed-files-specific.outputs.any_changed }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific.outputs.any_changed }})"
exit 1
fi
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-specific.outputs) }}"
@@ -55,9 +81,16 @@ jobs:
uses: ./
with:
files: |
action.yml
.github/workflows/test.yml
action.yml
separator: ","
- name: Verify any_changed files comma separator
if: "!contains(steps.changed-files-specific-comma.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific-comma.outputs.all_modified_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 }})"
exit 1
fi
- name: Show output
run: |
echo "${{ toJSON(steps.changed-files-specific-comma.outputs) }}"

10
Dockerfile Normal file
View File

@@ -0,0 +1,10 @@
FROM alpine:3.13.5
LABEL maintainer="Tonye Jack <jtonye@ymail.com>"
RUN apk add bash git openssh grep sed
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,24 +1,89 @@
# Changelog
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
## [v6.2](https://github.com/tj-actions/changed-files/tree/v6.2) (2021-05-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.2...HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.1...v6.2)
**Fixed bugs:**
- Fixed bug with trailing separator [\#74](https://github.com/tj-actions/changed-files/pull/74) ([jackton1](https://github.com/jackton1))
**Merged pull requests:**
- Upgraded to v5.1 [\#44](https://github.com/tj-actions/changed-files/pull/44) ([jackton1](https://github.com/jackton1))
- Remove unused line [\#75](https://github.com/tj-actions/changed-files/pull/75) ([jackton1](https://github.com/jackton1))
- Update action.yml [\#73](https://github.com/tj-actions/changed-files/pull/73) ([jackton1](https://github.com/jackton1))
- Update README.md [\#72](https://github.com/tj-actions/changed-files/pull/72) ([jackton1](https://github.com/jackton1))
- Improve test coverage [\#71](https://github.com/tj-actions/changed-files/pull/71) ([jackton1](https://github.com/jackton1))
- Update action.yml [\#70](https://github.com/tj-actions/changed-files/pull/70) ([jackton1](https://github.com/jackton1))
- Upgraded to v6.1 [\#69](https://github.com/tj-actions/changed-files/pull/69) ([jackton1](https://github.com/jackton1))
## [v5.2](https://github.com/tj-actions/changed-files/tree/v5.2) (2021-05-01)
## [v6.1](https://github.com/tj-actions/changed-files/tree/v6.1) (2021-05-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v6.1)
**Fixed bugs:**
- \[BUG\] any\_changed reports true without matching changed files [\#67](https://github.com/tj-actions/changed-files/issues/67)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Fixed bug with any\_changed boolean [\#68](https://github.com/tj-actions/changed-files/pull/68) ([jackton1](https://github.com/jackton1))
- Update cirrus-actions/rebase action to v1.5 [\#66](https://github.com/tj-actions/changed-files/pull/66) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v6 [\#64](https://github.com/tj-actions/changed-files/pull/64) ([jackton1](https://github.com/jackton1))
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.3...v6)
**Closed issues:**
- Improve test coverage [\#54](https://github.com/tj-actions/changed-files/issues/54)
**Merged pull requests:**
- Bump peter-evans/create-pull-request from 3.9.1 to 3.9.2 [\#63](https://github.com/tj-actions/changed-files/pull/63) ([dependabot[bot]](https://github.com/apps/dependabot))
- Deprecate all\_changed output. [\#62](https://github.com/tj-actions/changed-files/pull/62) ([jackton1](https://github.com/jackton1))
- Bump peter-evans/create-pull-request from 3 to 3.9.1 [\#61](https://github.com/tj-actions/changed-files/pull/61) ([dependabot[bot]](https://github.com/apps/dependabot))
- Bump actions/checkout from 2 to 2.3.4 [\#60](https://github.com/tj-actions/changed-files/pull/60) ([dependabot[bot]](https://github.com/apps/dependabot))
- Fixed typo [\#58](https://github.com/tj-actions/changed-files/pull/58) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.3 [\#57](https://github.com/tj-actions/changed-files/pull/57) ([jackton1](https://github.com/jackton1))
## [v5.3](https://github.com/tj-actions/changed-files/tree/v5.3) (2021-05-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.2...v5.3)
**Merged pull requests:**
- Add warning message when the head sha is empty [\#56](https://github.com/tj-actions/changed-files/pull/56) ([jackton1](https://github.com/jackton1))
- Update tj-actions/sync-release-version action to v8.6 [\#55](https://github.com/tj-actions/changed-files/pull/55) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v5.2 [\#53](https://github.com/tj-actions/changed-files/pull/53) ([jackton1](https://github.com/jackton1))
## [v5.2](https://github.com/tj-actions/changed-files/tree/v5.2) (2021-05-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5.1...v5.2)
**Implemented enhancements:**
- \[shellcheck\]: Resolve SC2001 [\#42](https://github.com/tj-actions/changed-files/issues/42)
- \[shellcheck\]: Resolve SC2128 [\#41](https://github.com/tj-actions/changed-files/issues/41)
**Merged pull requests:**
- Update tj-actions/github-changelog-generator action to v1.8 [\#52](https://github.com/tj-actions/changed-files/pull/52) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v5.1 [\#51](https://github.com/tj-actions/changed-files/pull/51) ([jackton1](https://github.com/jackton1))
## [v5.1](https://github.com/tj-actions/changed-files/tree/v5.1) (2021-05-01)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v5...v5.1)
**Merged pull requests:**
- Upgraded to v5 [\#43](https://github.com/tj-actions/changed-files/pull/43) ([jackton1](https://github.com/jackton1))
- Strip leading whitespaces [\#50](https://github.com/tj-actions/changed-files/pull/50) ([jackton1](https://github.com/jackton1))
- Upgraded to v5 [\#49](https://github.com/tj-actions/changed-files/pull/49) ([jackton1](https://github.com/jackton1))
## [v5](https://github.com/tj-actions/changed-files/tree/v5) (2021-05-01)
@@ -26,6 +91,12 @@
**Merged pull requests:**
- Update README.md [\#48](https://github.com/tj-actions/changed-files/pull/48) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.3 [\#47](https://github.com/tj-actions/changed-files/pull/47) ([jackton1](https://github.com/jackton1))
- Fixed bug with all\_changed when array is empty [\#46](https://github.com/tj-actions/changed-files/pull/46) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.2 [\#45](https://github.com/tj-actions/changed-files/pull/45) ([jackton1](https://github.com/jackton1))
- Upgraded to v5.1 [\#44](https://github.com/tj-actions/changed-files/pull/44) ([jackton1](https://github.com/jackton1))
- Upgraded to v5 [\#43](https://github.com/tj-actions/changed-files/pull/43) ([jackton1](https://github.com/jackton1))
- Upgraded to v5 [\#40](https://github.com/tj-actions/changed-files/pull/40) ([jackton1](https://github.com/jackton1))
- Switch to using a bash script. [\#39](https://github.com/tj-actions/changed-files/pull/39) ([jackton1](https://github.com/jackton1))
- Upgraded to v4.4 [\#38](https://github.com/tj-actions/changed-files/pull/38) ([jackton1](https://github.com/jackton1))
@@ -52,7 +123,6 @@
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
- Add support for watching a subset of files. [\#20](https://github.com/tj-actions/changed-files/issues/20)
**Merged pull requests:**

155
README.md
View File

@@ -1,25 +1,75 @@
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml) [![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml) <a href="https://github.com/search?q=tj-actions+changed-files+path%3A.github%2Fworkflows+language%3AYAML&type=code" target="_blank" title="Public workflows that use this action."><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-git-master.endbug.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue" alt="Public workflows that use this action."></a>
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml) [![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml) <a href="https://github.com/search?q=tj-actions+changed-files+path%3A.github%2Fworkflows+language%3AYAML&type=code" target="_blank" title="Public workflows that use this action."><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-tj-actions.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue" alt="Public workflows that use this action."></a>
changed-files
-------------
Get all modified files relative to the default branch (`pull_request*` events) or last commit (`push` events).
Retrieve all changed files relative to the default branch (`pull_request*` events) or a previous commit (`push` event).
This includes detecting files that were:
- Added
- Copied
- Modified
- Deleted
- Renamed
- Type changed
- Unmerged
- Unknown
## Features
- List all files that have changed
- Between the current pull request branch and the default branch
- Between the last commit and the current pushed change.
- List only a subset of files that can be used to detect changes.
- Report on a subset of files that have all change.
- Report on a subset of files that have at least one file change.
- Regex pattern matching on a subset of files.
- Restrict change detection to a subset of files.
- Report on files that have at least one change.
- Regex pattern matching on a subset of files.
## Usage
> NOTE: :warning:
> * **IMPORTANT:** For `push` events to work you need to include `fetch-depth: 0` **OR** `fetch-depth: 2` depending on your use case.
> * When using `persist-credentials: false` with `actions/checkout@v2` you'll need to specify a `token` using the `token` input.
```yaml
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
name: Test changed-files
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v6.2
- name: List all modified files
run: |
for file in "${{ steps.changed-files.outputs.all_modified_files }}"; do
echo "$file was modified"
done
```
## Outputs
Using the default separator.
| Acronym | Meaning |
|:---------:|:------------:|
| A | Added |
@@ -34,64 +84,26 @@ Using the default separator.
| Output | type | example | description |
|:-------------------:|:------------:|:------------------------------:|:----------------------------------------:|
| all_modified_files | `string` | 'new.txt other.png ...' | Select all modified files <br /> *i.e a combination of all added, <br />copied and modified files (ACM).* |
| all_changed | `string` | `true OR false` | Returns `true` only when the filenames provided using `files` input have all changed |
| all_changed_files | `string` | 'new.txt other.png ...' | Select all paths (*) <br /> *i.e a combination of all options below.* |
| added_files | `string` | 'new.txt other.png ...' | Select only files that are Added (A) |
| copied_files | `string` | 'new.txt other.png ...' | Select only files that are Copied (C) |
| deleted_files | `string` | 'new.txt other.png ...' | Select only files that are Deleted (D) |
| modified_files | `string` | 'new.txt other.png ...' | Select only files that are Modified (M) |
| renamed_files | `string` | 'new.txt other.png ...' | Select only files that are Renamed (R) |
| changed_files | `string` | 'new.txt other.png ...' | Select only files that have their file type changed (T) |
| unmerged_files | `string` | 'new.txt other.png ...' | Select only files that are Unmerged (U) |
| unknown_files | `string` | 'new.txt other.png ...' | Select only files that are Unknown (X) |
| any_changed | `string` | `true` OR `false` | Returns `true` when any of the filenames provided using the `files` input has changed |
| all_modified_files | `string` | `'new.txt other.png ...'` | Select all modified files <br /> i.e *a combination of all added, <br />copied and modified files (ACM).* |
| all_changed_files | `string` | `'new.txt other.png ...'` | Select all paths (*) <br /> i.e *a combination of all options below.* |
| added_files | `string` | `'new.txt other.png ...'` | Select only files that are Added (A) |
| copied_files | `string` | `'new.txt other.png ...'` | Select only files that are Copied (C) |
| deleted_files | `string` | `'new.txt other.png ...'` | Select only files that are Deleted (D) |
| modified_files | `string` | `'new.txt other.png ...'` | Select only files that are Modified (M) |
| renamed_files | `string` | `'new.txt other.png ...'` | Select only files that are Renamed (R) |
| changed_files | `string` | `'new.txt other.png ...'` | Select only files that have their file type changed (T) |
| unmerged_files | `string` | `'new.txt other.png ...'` | Select only files that are Unmerged (U) |
| unknown_files | `string` | `'new.txt other.png ...'` | Select only files that are Unknown (X) |
## Inputs
| Input | type | required | default | description |
|:-------------:|:-----------:|:-------------:|:----------------------------:|:-------------:|
| separator | `string` | `true` | `' '` | Separator to return outputs |
| files | `string OR string[]` | `false` | | Restricted list of specific files to watch for changes |
## Usage
> NOTE: :warning:
> * For `push` events to work you need to include `fetch-depth: 0` **OR** `fetch-depth: 2` depending on your use case.
```yaml
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
name: Test changed-files
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v5.2
- name: List all modified files
run: |
for file in "${{ steps.changed-files.outputs.all_modified_files }}"; do
echo "$file was modified"
done
```
| 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` | | Restricted list <br> or string of specific <br> files or filename <br> to watch for changes |
## Example
@@ -100,13 +112,14 @@ jobs:
...
steps:
- uses: actions/checkout@v2
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v5.2
uses: tj-actions/changed-files@v6.2
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v5.2
uses: tj-actions/changed-files@v6.2
with:
separator: ","
@@ -128,7 +141,7 @@ jobs:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v5.2
uses: tj-actions/changed-files@v6.2
with:
files: |
my-file.txt
@@ -139,15 +152,10 @@ jobs:
.(sql)$
^(mynewfile|custom)
- name: Run step if all files listed above have changed
if: steps.changed-files-specific.outputs.all_changed == 'true'
run: |
echo "Both my-file.txt and test.txt have changed."
- name: Run step if any of the listed files above change
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: |
echo "Either my-file.txt or test.txt have changed."
echo "One or more files listed above has changed."
```
@@ -158,11 +166,11 @@ jobs:
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v5.2
uses: tj-actions/changed-files@v6.2
- name: Pre-commit
uses: pre-commit/action@v2.0.0
@@ -172,11 +180,8 @@ jobs:
```
## Example
![Screen Shot 2021-04-02 at 9 06 04 AM](https://user-images.githubusercontent.com/17484350/113418057-b9fff600-9392-11eb-84e5-f5a91bfa8b11.png)
![Screen Shot 2021-05-13 at 4 55 30 PM](https://user-images.githubusercontent.com/17484350/118186772-1cc1c400-b40c-11eb-8fe8-b651e674ce96.png) ![Screen Shot 2021-05-21 at 8 38 31 AM](https://user-images.githubusercontent.com/17484350/119138539-fc979380-ba0f-11eb-802c-6e403faac300.png)

View File

@@ -2,6 +2,10 @@ name: Changed files
description: Get all changed files
author: tj-actions
inputs:
token:
description: 'Github token'
required: true
default: ${{ github.token }}
separator:
description: 'Split character for array output'
required: true
@@ -14,152 +18,30 @@ inputs:
outputs:
added_files:
description: List of added files.
value: ${{ steps.changed_files.outputs.added_files }}
copied_files:
description: List of copied files.
value: ${{ steps.changed_files.outputs.copied_files }}
deleted_files:
description: List of deleted files.
value: ${{ steps.changed_files.outputs.deleted_files }}
modified_files:
description: List of modified files.
value: ${{ steps.changed_files.outputs.modified_files }}
renamed_files:
description: List of renamed files.
value: ${{ steps.changed_files.outputs.renamed_files }}
changed_files:
description: List of changed files.
value: ${{ steps.changed_files.outputs.changed_files }}
unmerged_files:
description: List of unmerged files.
value: ${{ steps.changed_files.outputs.unmerged_files }}
unknown_files:
description: List of unknown files.
value: ${{ steps.changed_files.outputs.unknown_files }}
all_changed_files:
description: List of all changed files.
value: ${{ steps.changed_files.outputs.all_changed_files }}
all_modified_files:
description: List of all copied modified and added files
value: ${{ steps.changed_files.outputs.all_modified_files }}
all_changed:
description: Return true only when all files provided using the files input have all changed.
value: ${{ steps.changed_files.outputs.all_changed }}
description: List of all copied modified and added files.
any_changed:
description: Return true only when any files provided using the files input have changed.
value: ${{ steps.changed_files.outputs.any_changed }}
runs:
using: 'composite'
steps:
- id: changed_files
run: |
export INPUT_FILES="${{ inputs.files }}"
export INPUT_SEPARATOR="${{ inputs.separator }}"
echo "Getting head sha..."
if [[ -z $GITHUB_BASE_REF ]]; then
HEAD_SHA=$(git rev-parse HEAD^1 || true)
else
TARGET_BRANCH=${GITHUB_BASE_REF}
git fetch --depth=1 origin "${TARGET_BRANCH}":"${TARGET_BRANCH}"
HEAD_SHA=$(git rev-parse "${TARGET_BRANCH}" || true)
fi
echo "Using head sha: $HEAD_SHA..."
if [[ -z "$INPUT_FILES" ]]; then
echo "Getting diff..."
ADDED=$(git diff --diff-filter=A --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
COPIED=$(git diff --diff-filter=C --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
DELETED=$(git diff --diff-filter=D --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
MODIFIED=$(git diff --diff-filter=M --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
RENAMED=$(git diff --diff-filter=R --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
CHANGED=$(git diff --diff-filter=T --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
UNMERGED=$(git diff --diff-filter=U --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
UNKNOWN=$(git diff --diff-filter=X --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_CHANGED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_MODIFIED_FILES=$(git diff --diff-filter="ACM" --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
echo "All changed files: $ALL_CHANGED"
echo "All modified files: $ALL_MODIFIED_FILES"
else
ADDED_ARRAY=()
COPIED_ARRAY=()
DELETED_ARRAY=()
MODIFIED_ARRAY=()
RENAMED_ARRAY=()
CHANGED_ARRAY=()
UNMERGED_ARRAY=()
UNKNOWN_ARRAY=()
ALL_CHANGED_ARRAY=()
ALL_MODIFIED_FILES_ARRAY=()
for path in ${INPUT_FILES}
do
echo "Checking for file changes: \"${path}\"..."
IFS=" " read -r -a ADDED_ARRAY <<< "$(git diff --diff-filter=A --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a COPIED_ARRAY <<< "$(git diff --diff-filter=C --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a DELETED_ARRAY <<< "$(git diff --diff-filter=D --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a MODIFIED_ARRAY <<< "$(git diff --diff-filter=M --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a RENAMED_ARRAY <<< "$(git diff --diff-filter=R --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a CHANGED_ARRAY <<< "$(git diff --diff-filter=T --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a UNMERGED_ARRAY <<< "$(git diff --diff-filter=U --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a UNKNOWN_ARRAY <<< "$(git diff --diff-filter=X --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a ALL_CHANGED_ARRAY <<< "$(git diff --diff-filter="*ACDMRTUX" --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
IFS=" " read -r -a ALL_MODIFIED_FILES_ARRAY <<< "$(git diff --diff-filter="ACM" --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs printf "%s$INPUT_SEPARATOR" || true)"
done
ADDED=$(echo "${ADDED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
COPIED=$(echo "${COPIED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
DELETED=$(echo "${DELETED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
MODIFIED=$(echo "${MODIFIED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
RENAMED=$(echo "${RENAMED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
CHANGED=$(echo "${CHANGED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
UNMERGED=$(echo "${UNMERGED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
UNKNOWN=$(echo "${UNKNOWN_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_CHANGED=$(echo "${ALL_CHANGED_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_MODIFIED_FILES=$(echo "${ALL_MODIFIED_FILES_ARRAY[@]}" | sed -E "s/($INPUT_SEPARATOR)$//")
echo "All changed files: $ALL_CHANGED"
echo "All modified files: $ALL_MODIFIED_FILES"
# shellcheck disable=SC2001
OUTPUT_ALL_MODIFIED_FILES=$(echo "$ALL_MODIFIED_FILES" | sed "s/$INPUT_SEPARATOR/ /g")
ALL_INPUT_FILES=${INPUT_FILES//\n/ }
SORTED_INPUT_FILES=()
SORTED_OUTPUT_ALL_MODIFIED_FILES=()
IFS=" " read -r -a SORTED_INPUT_FILES <<< "$(sort <<<"${ALL_INPUT_FILES[*]}")"
IFS=" " read -r -a SORTED_OUTPUT_ALL_MODIFIED_FILES <<< "$(sort <<<"${OUTPUT_ALL_MODIFIED_FILES[*]}")"
if [[ ${#SORTED_OUTPUT_ALL_MODIFIED_FILES[@]} -gt 0 ]]; then
echo "::set-output name=any_changed::true"
if [[ "${SORTED_INPUT_FILES[*]}" == "${SORTED_OUTPUT_ALL_MODIFIED_FILES[*]}" ]]; then
echo "::set-output name=all_changed::true"
else
echo "::set-output name=all_changed::false"
fi
else
echo "::set-output name=any_changed::false"
fi
fi
echo "::set-output name=added_files::$ADDED"
echo "::set-output name=copied_files::$COPIED"
echo "::set-output name=deleted_files::$DELETED"
echo "::set-output name=modified_files::$MODIFIED"
echo "::set-output name=renamed_files::$RENAMED"
echo "::set-output name=changed_files::$CHANGED"
echo "::set-output name=unmerged_files::$UNMERGED"
echo "::set-output name=unknown_files::$UNKNOWN"
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED_FILES"
unset INPUT_FILES
unset INPUT_SEPARATOR
shell: bash
using: 'docker'
image: 'Dockerfile'
branding:
icon: file-text

129
entrypoint.sh Normal file
View File

@@ -0,0 +1,129 @@
#!/usr/bin/env bash
set -e
git remote set-url origin "https://${INPUT_TOKEN}@github.com/${GITHUB_REPOSITORY}"
echo "Getting head sha..."
if [[ -z $GITHUB_BASE_REF ]]; then
HEAD_SHA=$(git rev-parse HEAD^1 2>&1) && exit_status=$? || exit_status=$?
else
TARGET_BRANCH=${GITHUB_BASE_REF}
git fetch --depth=1 origin "${TARGET_BRANCH}":"${TARGET_BRANCH}"
HEAD_SHA=$(git rev-parse "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
fi
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the head sha"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
exit 1
fi
echo "Using head sha: $HEAD_SHA..."
if [[ -z "$INPUT_FILES" ]]; then
echo "Getting diff..."
ADDED=$(git diff --diff-filter=A --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
COPIED=$(git diff --diff-filter=C --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
DELETED=$(git diff --diff-filter=D --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
MODIFIED=$(git diff --diff-filter=M --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
RENAMED=$(git diff --diff-filter=R --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
CHANGED=$(git diff --diff-filter=T --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
UNMERGED=$(git diff --diff-filter=U --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
UNKNOWN=$(git diff --diff-filter=X --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_CHANGED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
ALL_MODIFIED_FILES=$(git diff --diff-filter="ACM" --name-only "$HEAD_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//")
else
ADDED_ARRAY=()
COPIED_ARRAY=()
DELETED_ARRAY=()
MODIFIED_ARRAY=()
RENAMED_ARRAY=()
CHANGED_ARRAY=()
UNMERGED_ARRAY=()
UNKNOWN_ARRAY=()
ALL_CHANGED_ARRAY=()
ALL_MODIFIED_FILES_ARRAY=()
for path in ${INPUT_FILES}
do
echo "Checking for file changes: \"${path}\"..."
IFS=" "
# shellcheck disable=SC2207
ADDED_ARRAY+=($(git diff --diff-filter=A --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
COPIED_ARRAY+=($(git diff --diff-filter=C --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
DELETED_ARRAY+=($(git diff --diff-filter=D --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
MODIFIED_ARRAY+=($(git diff --diff-filter=M --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
RENAMED_ARRAY+=($(git diff --diff-filter=R --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
CHANGED_ARRAY+=($(git diff --diff-filter=T --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
UNMERGED_ARRAY+=($(git diff --diff-filter=U --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
UNKNOWN_ARRAY+=($(git diff --diff-filter=X --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
ALL_CHANGED_ARRAY+=($(git diff --diff-filter="*ACDMRTUX" --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
# shellcheck disable=SC2207
ALL_MODIFIED_FILES_ARRAY+=($(git diff --diff-filter="ACM" --name-only "$HEAD_SHA" | grep -E "(${path})" | xargs || true))
done
# shellcheck disable=SC2001
ADDED=$(echo "${ADDED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
COPIED=$(echo "${COPIED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
DELETED=$(echo "${DELETED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
MODIFIED=$(echo "${MODIFIED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
RENAMED=$(echo "${RENAMED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
CHANGED=$(echo "${CHANGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
UNMERGED=$(echo "${UNMERGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
UNKNOWN=$(echo "${UNKNOWN_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
ALL_CHANGED=$(echo "${ALL_CHANGED_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
# shellcheck disable=SC2001
ALL_MODIFIED_FILES=$(echo "${ALL_MODIFIED_FILES_ARRAY[*]}" | sed 's/ */'"$INPUT_SEPARATOR"'/g')
fi
echo "Added files: $ADDED"
echo "Copied files: $COPIED"
echo "Deleted files: $DELETED"
echo "Modified files: $MODIFIED"
echo "Renamed files: $RENAMED"
echo "Changed files: $CHANGED"
echo "Unmerged files: $UNMERGED"
echo "Unknown files: $UNKNOWN"
echo "All changed files: $ALL_CHANGED"
echo "All modified files: $ALL_MODIFIED_FILES"
if [[ -n "$INPUT_FILES" ]]; then
# shellcheck disable=SC2001
ALL_INPUT_FILES=$(echo "$INPUT_FILES" | tr "\n" " " | xargs)
echo "Input files: ${ALL_INPUT_FILES[*]}"
echo "Matching modified files: ${ALL_MODIFIED_FILES[*]}"
if [[ -n "$ALL_MODIFIED_FILES" ]]; then
echo "::set-output name=any_changed::true"
else
echo "::set-output name=any_changed::false"
fi
fi
echo "::set-output name=added_files::$ADDED"
echo "::set-output name=copied_files::$COPIED"
echo "::set-output name=deleted_files::$DELETED"
echo "::set-output name=modified_files::$MODIFIED"
echo "::set-output name=renamed_files::$RENAMED"
echo "::set-output name=changed_files::$CHANGED"
echo "::set-output name=unmerged_files::$UNMERGED"
echo "::set-output name=unknown_files::$UNKNOWN"
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED_FILES"