Compare commits

...

23 Commits
v16 ... v17.1

Author SHA1 Message Date
Tonye Jack
a53d74f700 fix: handle errors for repositories without any previous commit history (#404)
* fix: Handle errors for repositories without any previous commit history

Fixes: #365

* Update diff-sha.sh
2022-02-26 05:09:14 -05:00
Tonye Jack
f5d5eb9133 Updated submodule (#403)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-02-26 04:51:42 -05:00
Tonye Jack
985c5e91f6 Update submodule-sync.yml 2022-02-26 04:49:08 -05:00
Tonye Jack
2f3f1438bb Update submodule-sync.yml 2022-02-26 04:41:54 -05:00
Tonye Jack
ed90466495 chore: switch sed for awk (#401)
* chore: switch sed for awk

* Update entrypoint.sh

* Update entrypoint.sh
2022-02-26 04:37:27 -05:00
Tonye Jack
af93c64cfb Create submodule-sync.yml 2022-02-26 04:36:20 -05:00
Renovate Bot
a7b11ecaab Update tj-actions/github-changelog-generator action to v1.12 2022-02-26 04:15:37 -05:00
Tonye Jack
239c560880 Update test.yml 2022-02-26 04:15:32 -05:00
Tonye Jack
8683cf7a6d Update README.md 2022-02-25 21:50:07 -05:00
Tonye Jack
393dac5ef4 Update README.md 2022-02-24 00:22:23 -05:00
Tonye Jack
832540c0bd Upgraded from v16 -> v17 (#399)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-02-23 04:45:50 -05:00
Tonye Jack
933541631c Update README.md 2022-02-23 03:39:41 -05:00
Constantine Peresypkin
83f33bd403 feat: Add support for detecting submodules changes (#394)
* feat: Add support for detecting submodules changes

Closes: #349

* add bash<4.4 fix

* add bash<4.4 fix

* Added more than 1 submodule.

* Update entrypoint.sh

* Removed submodule.

* Update test.yml

* Update test.yml

* Updated .gitmodules.

* Updated submodule.

* Updated submodule.

* Added a new submodule resolving testing errors.

* Added a new submodule.

* Removed new submodule.

* Fixed test.

Co-authored-by: Tonye Jack <jtonye@ymail.com>
2022-02-23 03:39:20 -05:00
Tonye Jack
9c7f90a508 Updated README.md (#398)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-02-22 20:05:24 -05:00
Tonye Jack
37b9df5bd8 Merge branch 'main' of github.com:tj-actions/changed-files into HEAD 2022-02-22 20:01:54 -05:00
allcontributors[bot]
fe0a8cd3ae docs: add pkit as a contributor for code (#397)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2022-02-22 18:26:37 -05:00
Tonye Jack
1c11902f89 Updated submodule README.md 2022-02-22 14:37:39 -05:00
Tonye Jack
f51ab66afb Updated README.md 2022-02-22 12:25:05 -05:00
Tonye Jack
de8d1bc003 Updated README.md (#392)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-02-18 13:27:01 -05:00
allcontributors[bot]
e867a0c365 docs: add fagai as a contributor for doc (#391)
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2022-02-18 10:41:52 -05:00
fagai
4b0508d51e fix README (#390) 2022-02-18 10:41:08 -05:00
Tonye Jack
1eb4363a4b Update README.md 2022-02-17 23:32:26 -05:00
Tonye Jack
1eabd2fb82 Upgraded to v16 (#389)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-02-17 23:29:26 -05:00
10 changed files with 173 additions and 56 deletions

View File

@@ -87,6 +87,24 @@
"contributions": [
"code"
]
},
{
"login": "fagai",
"name": "fagai",
"avatar_url": "https://avatars.githubusercontent.com/u/1772112?v=4",
"profile": "https://fagai.net",
"contributions": [
"doc"
]
},
{
"login": "pkit",
"name": "Constantine Peresypkin",
"avatar_url": "https://avatars.githubusercontent.com/u/805654?v=4",
"profile": "https://github.com/pkit",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,

28
.github/workflows/submodule-sync.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
on:
workflow_dispatch:
jobs:
sync:
name: Submodule Sync
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: recursive
- name: Git Sumbodule Update
run: |
git pull --recurse-submodules
git submodule update --remote --recursive
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3.12.1
with:
title: "Updated submodule"
branch: "chore/update-submodule"
commit-message: "Updated submodule"
body: "Updated submodule"
token: ${{ secrets.PAT_TOKEN }}

View File

@@ -19,7 +19,7 @@ jobs:
paths: |
README.md
- name: Generate CHANGELOG
uses: tj-actions/github-changelog-generator@v1.11
uses: tj-actions/github-changelog-generator@v1.12
with:
output: 'HISTORY.md'
- name: Create Pull Request

View File

@@ -32,14 +32,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Show github context
run: |
echo '${{ toJSON(github) }}'
shell:
bash
- name: Get changed files use_fork_point
id: changed-files-fork-point
uses: ./
@@ -75,6 +70,7 @@ jobs:
- name: Checkout into dir1
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
path: dir1
- name: Run changed-files with defaults on the dir1
@@ -97,6 +93,7 @@ jobs:
- name: Checkout into dir2
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
path: dir2
- name: Run changed-files with defaults on the dir2
@@ -207,6 +204,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Run changed-files with defaults
id: changed-files

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "test/demo"]
path = test/demo
url = git@github.com:tj-actions/demo.git

View File

@@ -1,5 +1,40 @@
# Changelog
## [v17](https://github.com/tj-actions/changed-files/tree/v17) (2022-02-23)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v16...v17)
**Implemented enhancements:**
- \[Feature\] Add support for detecting changes in submodules [\#349](https://github.com/tj-actions/changed-files/issues/349)
**Fixed bugs:**
- \[BUG\] It looks like no value such as any\_changed has been written. [\#393](https://github.com/tj-actions/changed-files/issues/393)
**Merged pull requests:**
- Updated README.md [\#398](https://github.com/tj-actions/changed-files/pull/398) ([jackton1](https://github.com/jackton1))
- docs: add pkit as a contributor for code [\#397](https://github.com/tj-actions/changed-files/pull/397) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- feat: Add support for detecting submodules changes [\#394](https://github.com/tj-actions/changed-files/pull/394) ([pkit](https://github.com/pkit))
- Updated README.md [\#392](https://github.com/tj-actions/changed-files/pull/392) ([jackton1](https://github.com/jackton1))
- docs: add fagai as a contributor for doc [\#391](https://github.com/tj-actions/changed-files/pull/391) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- fix README [\#390](https://github.com/tj-actions/changed-files/pull/390) ([fagai](https://github.com/fagai))
- Upgraded to v16 [\#389](https://github.com/tj-actions/changed-files/pull/389) ([jackton1](https://github.com/jackton1))
## [v16](https://github.com/tj-actions/changed-files/tree/v16) (2022-02-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v15...v16)
**Implemented enhancements:**
- \[Feature\] `since_last_remote_commit` incorrect `on: push` of new branch [\#387](https://github.com/tj-actions/changed-files/issues/387)
**Merged pull requests:**
- feat: Use previous commit when since\_last\_remote\_commit is set to true [\#388](https://github.com/tj-actions/changed-files/pull/388) ([jackton1](https://github.com/jackton1))
- Upgraded to v15.1 [\#386](https://github.com/tj-actions/changed-files/pull/386) ([jackton1](https://github.com/jackton1))
## [v15](https://github.com/tj-actions/changed-files/tree/v15) (2022-02-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v15.1...v15)
@@ -367,7 +402,7 @@
## [v1.2.1](https://github.com/tj-actions/changed-files/tree/v1.2.1) (2021-11-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.2.0...v1.2.1)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.5...v1.2.1)
**Implemented enhancements:**
@@ -381,13 +416,13 @@
- Update actions/checkout action to v2.4.0 [\#243](https://github.com/tj-actions/changed-files/pull/243) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v11.5 [\#241](https://github.com/tj-actions/changed-files/pull/241) ([jackton1](https://github.com/jackton1))
## [v1.2.0](https://github.com/tj-actions/changed-files/tree/v1.2.0) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.5...v1.2.0)
## [v11.5](https://github.com/tj-actions/changed-files/tree/v11.5) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.4...v11.5)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.2.0...v11.5)
## [v1.2.0](https://github.com/tj-actions/changed-files/tree/v1.2.0) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.4...v1.2.0)
**Merged pull requests:**
@@ -780,7 +815,7 @@
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v7)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
**Closed issues:**
@@ -796,13 +831,13 @@
- Update tj-actions/sync-release-version action to v8.7 [\#86](https://github.com/tj-actions/changed-files/pull/86) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1))
## [v6.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...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)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v6)
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6.3)
**Merged pull requests:**

View File

@@ -7,7 +7,7 @@
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
@@ -20,7 +20,7 @@ Retrieve all changed files relative to the target branch (`pull_request*` based
* Fast execution (0-2 seconds on average).
* Easy to debug.
* Boolean output indicating that certain files have been changed.
* Git submodules (**TODO**)
* Git submodules support.
* 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.
@@ -67,7 +67,7 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v15.1
uses: tj-actions/changed-files@v17
- name: List all changed files
run: |
@@ -146,14 +146,17 @@ Support this project with a :star:
...
steps:
- uses: actions/checkout@v2
# with:
# fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
# submodules: true # OR "recursive" -> To include all changed submodule files.
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v15.1
uses: tj-actions/changed-files@v17
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v15.1
uses: tj-actions/changed-files@v17
with:
separator: ","
@@ -175,7 +178,7 @@ Support this project with a :star:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v15.1
uses: tj-actions/changed-files@v17
with:
files: |
my-file.txt
@@ -187,7 +190,7 @@ Support this project with a :star:
!*.md
*.jpeg
**/migrate-*.sql
files-ignore: |
files_ignore: |
*.yml
- name: Run step if any of the listed files above change
@@ -216,14 +219,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@v15.1
uses: tj-actions/changed-files@v17
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@v15.1
uses: tj-actions/changed-files@v17
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -232,13 +235,13 @@ Support this project with a :star:
- name: Use a different commit SHA
id: changed-files-custom-sha
uses: tj-actions/changed-files@v15.1
uses: tj-actions/changed-files@v17
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@v15.1
uses: tj-actions/changed-files@v17
with:
base_sha: "2096ed0"
@@ -250,7 +253,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@v15.1
uses: tj-actions/changed-files@v17
with:
path: dir1
@@ -262,9 +265,15 @@ 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@v15.1
uses: tj-actions/changed-files@v17
with:
since_last_remote_commit: "true"
- name: Run changed-files using the fork point of a pull request
id: changed-files-fork-point
uses: tj-actions/changed-files@v17
with:
use_fork_point: "true"
```
@@ -328,6 +337,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<tr>
<td align="center"><a href="https://github.com/wushujames"><img src="https://avatars.githubusercontent.com/u/677529?v=4?s=100" width="100px;" alt=""/><br /><sub><b>James Cheng</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=wushujames" title="Documentation">📖</a></td>
<td align="center"><a href="https://qiita.com/SUZUKI_Masaya"><img src="https://avatars.githubusercontent.com/u/15100604?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Masaya Suzuki</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=massongit" title="Code">💻</a></td>
<td align="center"><a href="https://fagai.net"><img src="https://avatars.githubusercontent.com/u/1772112?v=4?s=100" width="100px;" alt=""/><br /><sub><b>fagai</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=fagai" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/pkit"><img src="https://avatars.githubusercontent.com/u/805654?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Constantine Peresypkin</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=pkit" title="Code">💻</a></td>
</tr>
</table>

View File

@@ -52,7 +52,11 @@ if [[ -z $GITHUB_BASE_REF ]]; then
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=$?
if [[ $(git rev-list --count HEAD) -gt 1 ]]; then
PREVIOUS_SHA=$(git rev-list --no-merges -n 1 HEAD^1 2>&1) && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$CURRENT_SHA
fi
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=$?

View File

@@ -2,6 +2,25 @@
set -eu
function get_diff() {
base="$1"
sha="$2"
filter="$3"
while IFS='' read -r sub; do
sub_commit_pre="$(git diff "$base" "$sha" -- "$sub" | grep '^[-]Subproject commit' | awk '{print $3}')"
sub_commit_cur="$(git diff "$base" "$sha" -- "$sub" | grep '^[+]Subproject commit' | awk '{print $3}')"
if [ -n "$sub_commit_cur" ]; then
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_diff "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" "$filter" | awk -v r="$sub" '{ print "" r "/" $0}'
)
)
fi
done < <(git submodule | awk '{print $2}')
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base" "$sha"
}
echo "::group::changed-files"
echo "Resolving repository path..."
@@ -20,34 +39,34 @@ echo "Retrieving changes between $INPUT_PREVIOUS_SHA ($INPUT_TARGET_BRANCH) →
echo "Getting diff..."
if [[ -z "$INPUT_FILES_PATTERN" ]]; then
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 "$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 "$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 "$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 "$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 "$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 "$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 "$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 "$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 "$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 "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | 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)$"
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 "$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 "$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 "$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 "$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 "$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 "$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 "$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 "$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 "$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 "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | grep -E "$FILES_PATTERN" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | 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 "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_OTHER_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | 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

1
test/demo Submodule

Submodule test/demo added at 3b8549eb19