From ecc724cba557fbdde750402fd71d43b638761066 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 13:58:01 -0500 Subject: [PATCH 01/59] Add support for using github's glob pattern syntax Fixes: #264 #265 --- action.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 52c3dc88cfb..daa0819fe5d 100644 --- a/action.yml +++ b/action.yml @@ -106,6 +106,11 @@ runs: env: INPUT_FILES: ${{ inputs.files }} INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }} + - name: Glob match + uses: tj-actions/glob@v1 + id: glob + with: + files: ${{ steps.source-input-files.outputs.files }} - run: | # "Set base sha..." if [[ -n "${{ inputs.base_sha }}" ]]; then @@ -132,7 +137,7 @@ runs: INPUT_SHA: ${{ inputs.sha }} INPUT_BASE_SHA: ${{ steps.base-sha.outputs.base_sha }} INPUT_TOKEN: ${{ inputs.token }} - INPUT_FILES: ${{ steps.source-input-files.outputs.files }} + INPUT_FILES: ${{ steps.glob.outputs.paths }} INPUT_SEPARATOR: ${{ inputs.separator }} INPUT_PATH: ${{ inputs.path }} From a231a9365b6e3d6c0fd9ead04b321ad1fd5d6b32 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:05:42 -0500 Subject: [PATCH 02/59] Update sourcefiles.sh --- sourcefiles.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index f7ba12a72bc..41be2b8d928 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" +IFS="\n" read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u)" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -17,10 +17,10 @@ fi echo "Input Files: ${FILES[*]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u | tr "\n" " ")" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u)" -echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" +echo "Unique Input files: $(printf '%\n' "${ALL_UNIQUE_FILES[@]}" -echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" +echo "::set-output name=files::$(printf '%\n' "${ALL_UNIQUE_FILES[@]}")" echo "::endgroup::" From 4b912e9166613afb167bf34c76f5dc9760ce347c Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:07:03 -0500 Subject: [PATCH 03/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 41be2b8d928..25ac7381128 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -19,7 +19,7 @@ echo "Input Files: ${FILES[*]}" IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u)" -echo "Unique Input files: $(printf '%\n' "${ALL_UNIQUE_FILES[@]}" +echo "Unique Input files: $(printf '%\n' "${ALL_UNIQUE_FILES[@]}")" echo "::set-output name=files::$(printf '%\n' "${ALL_UNIQUE_FILES[@]}")" From dbafa2f098ff55a0b2c30c800e8a98bae2b5638d Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:10:45 -0500 Subject: [PATCH 04/59] Update sourcefiles.sh --- sourcefiles.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 25ac7381128..3f59baa8241 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -17,10 +17,12 @@ fi echo "Input Files: ${FILES[*]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u)" +IFS=" " read -r -a UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u)" -echo "Unique Input files: $(printf '%\n' "${ALL_UNIQUE_FILES[@]}")" +ALL_UNIQUE_FILES=$( IFS=$'\n'; echo "${UNIQUE_FILES[*]}" ) -echo "::set-output name=files::$(printf '%\n' "${ALL_UNIQUE_FILES[@]}")" +echo "All Unique Input files: $ALL_UNIQUE_FILES" + +echo "::set-output name=files::$ALL_UNIQUE_FILES" echo "::endgroup::" From f8cca33bdbf4431a83f84ab2b2a84ba1d5b71b8a Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:11:25 -0500 Subject: [PATCH 05/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 3f59baa8241..363ec1390b9 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS="\n" read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u)" +IFS=$'\n' read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u)" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From 2a28854c210f37cf4e5547f61a24b26d3154a3da Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:24:21 -0500 Subject: [PATCH 06/59] Update sourcefiles.sh --- sourcefiles.sh | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 363ec1390b9..2d6d5bb8535 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,22 +4,20 @@ set -e echo "::group::changed-files-from-source-file" -IFS=$'\n' read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u)" +FILES=$INPUT_FILES if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do while read -r fileName; do - FILES+=("$fileName") + FILES+="\n$fileName" done <"$file" done fi -echo "Input Files: ${FILES[*]}" +echo "Input Files: $FILES" -IFS=" " read -r -a UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u)" - -ALL_UNIQUE_FILES=$( IFS=$'\n'; echo "${UNIQUE_FILES[*]}" ) +ALL_UNIQUE_FILES=$(echo "$FILES" | sort -u) echo "All Unique Input files: $ALL_UNIQUE_FILES" From 2ba4c86fad698c32e31ece3fe96242998aaacfc4 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:30:00 -0500 Subject: [PATCH 07/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 2d6d5bb8535..25d41f85386 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -17,7 +17,7 @@ fi echo "Input Files: $FILES" -ALL_UNIQUE_FILES=$(echo "$FILES" | sort -u) +ALL_UNIQUE_FILES=$(printf "$FILES" | sort -u) echo "All Unique Input files: $ALL_UNIQUE_FILES" From c6f82abfd96b45dfbae6081a5a8d8081b793db7d Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:34:07 -0500 Subject: [PATCH 08/59] Update sourcefiles.sh --- sourcefiles.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 25d41f85386..58783b1960b 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,18 +4,20 @@ set -e echo "::group::changed-files-from-source-file" -FILES=$INPUT_FILES +FILES="" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do while read -r fileName; do - FILES+="\n$fileName" + FILES+=$(printf "%s\n" "$fileName") done <"$file" done fi -echo "Input Files: $FILES" +FILES+=$INPUT_FILES + +printf "Input Files: %s" $FILES ALL_UNIQUE_FILES=$(printf "$FILES" | sort -u) From 52b75e92a5c133d445081034ed94a07181aacdfd Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:38:15 -0500 Subject: [PATCH 09/59] Update sourcefiles.sh Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 58783b1960b..2fdcd5b8852 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -17,7 +17,7 @@ fi FILES+=$INPUT_FILES -printf "Input Files: %s" $FILES +printf "Input Files: %s" "$FILES" ALL_UNIQUE_FILES=$(printf "$FILES" | sort -u) From be078752fac4e9661072ca9590d358e79c5aaa08 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 14:42:13 -0500 Subject: [PATCH 10/59] Update sourcefiles.sh --- sourcefiles.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 2fdcd5b8852..a2cd541d2f7 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -19,9 +19,9 @@ FILES+=$INPUT_FILES printf "Input Files: %s" "$FILES" -ALL_UNIQUE_FILES=$(printf "$FILES" | sort -u) +ALL_UNIQUE_FILES=$(printf "%s" "$FILES" | sort -u) -echo "All Unique Input files: $ALL_UNIQUE_FILES" +printf "All Unique Input files: %s" "$ALL_UNIQUE_FILES" echo "::set-output name=files::$ALL_UNIQUE_FILES" From 416132b56a394c0346035aaa132248f32ab1e2c1 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 15:15:06 -0500 Subject: [PATCH 11/59] Update sourcefiles.sh --- sourcefiles.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index a2cd541d2f7..f7ba12a72bc 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,25 +4,23 @@ set -e echo "::group::changed-files-from-source-file" -FILES="" +IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do while read -r fileName; do - FILES+=$(printf "%s\n" "$fileName") + FILES+=("$fileName") done <"$file" done fi -FILES+=$INPUT_FILES +echo "Input Files: ${FILES[*]}" -printf "Input Files: %s" "$FILES" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u | tr "\n" " ")" -ALL_UNIQUE_FILES=$(printf "%s" "$FILES" | sort -u) +echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" -printf "All Unique Input files: %s" "$ALL_UNIQUE_FILES" - -echo "::set-output name=files::$ALL_UNIQUE_FILES" +echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" echo "::endgroup::" From 604f7cc687a4dd3082541f3408277ab1d37e7e34 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 15:17:20 -0500 Subject: [PATCH 12/59] Update action.yml --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index daa0819fe5d..cc5024953f7 100644 --- a/action.yml +++ b/action.yml @@ -110,7 +110,7 @@ runs: uses: tj-actions/glob@v1 id: glob with: - files: ${{ steps.source-input-files.outputs.files }} + files: ${{ join(steps.source-input-files.outputs.files, '\n') }} - run: | # "Set base sha..." if [[ -n "${{ inputs.base_sha }}" ]]; then From 991884a8de928d2b4b631f9c70782d9171eab6a0 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 15:20:28 -0500 Subject: [PATCH 13/59] Update action.yml --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index cc5024953f7..daa0819fe5d 100644 --- a/action.yml +++ b/action.yml @@ -110,7 +110,7 @@ runs: uses: tj-actions/glob@v1 id: glob with: - files: ${{ join(steps.source-input-files.outputs.files, '\n') }} + files: ${{ steps.source-input-files.outputs.files }} - run: | # "Set base sha..." if [[ -n "${{ inputs.base_sha }}" ]]; then From fb80aece7494f6c7b58ffbc2da7dc74762d6a136 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 15:51:01 -0500 Subject: [PATCH 14/59] Update action.yml --- action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index daa0819fe5d..4d7f8ff9523 100644 --- a/action.yml +++ b/action.yml @@ -107,10 +107,11 @@ runs: INPUT_FILES: ${{ inputs.files }} INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }} - name: Glob match - uses: tj-actions/glob@v1 + uses: tj-actions/glob@v1.1 id: glob with: files: ${{ steps.source-input-files.outputs.files }} + files-separator: " " - run: | # "Set base sha..." if [[ -n "${{ inputs.base_sha }}" ]]; then From 24cb5064365fc18cdbd22d51b3914697f1dfc46c Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 15:56:56 -0500 Subject: [PATCH 15/59] Update action.yml --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 4d7f8ff9523..1959988f9e7 100644 --- a/action.yml +++ b/action.yml @@ -107,7 +107,7 @@ runs: INPUT_FILES: ${{ inputs.files }} INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }} - name: Glob match - uses: tj-actions/glob@v1.1 + uses: tj-actions/glob@v1.2 id: glob with: files: ${{ steps.source-input-files.outputs.files }} From 25c130c30305569b5e01ef28a147081c899528ca Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 16:49:52 -0500 Subject: [PATCH 16/59] Update sourcefiles.sh --- sourcefiles.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index f7ba12a72bc..c80205d9d8a 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" +IFS=$'\n' read -d '' -r -a FILES <<< "$INPUT_FILES" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -15,12 +15,12 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -echo "Input Files: ${FILES[*]}" +printf 'Input Files: \n%s\n' "${FILES[@]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u | tr "\n" " ")" +IFS=$"\n" read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u)" -echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" +printf 'All Unique Input files: \n%s\n' "${ALL_UNIQUE_FILES[@]}" -echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" +echo "::set-output name=files::${ALL_UNIQUE_FILES[@]}" echo "::endgroup::" From 81e3a5ea1ebddcb16d5e85c192a3ab94a18ccdff Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 16:52:02 -0500 Subject: [PATCH 17/59] Update sourcefiles.sh --- sourcefiles.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index c80205d9d8a..4a235ebb084 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -17,10 +17,10 @@ fi printf 'Input Files: \n%s\n' "${FILES[@]}" -IFS=$"\n" read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u)" +IFS=$'\n' read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u)" printf 'All Unique Input files: \n%s\n' "${ALL_UNIQUE_FILES[@]}" -echo "::set-output name=files::${ALL_UNIQUE_FILES[@]}" +echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" echo "::endgroup::" From 05bebcbe3e703059b5e7cc427ffb47666d04d3be Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 16:53:12 -0500 Subject: [PATCH 18/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 4a235ebb084..4a0580a4741 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=$'\n' read -d '' -r -a FILES <<< "$INPUT_FILES" +IFS=$'\n' read -r -a FILES <<< "$INPUT_FILES" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From c985ac11a9dec63d93d1ca248f5b471c245383ab Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:01:53 -0500 Subject: [PATCH 19/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 4a0580a4741..ec1c10bc892 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=$'\n' read -r -a FILES <<< "$INPUT_FILES" +IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From 349154c99eb9fc66f94c6fe1043029d0cf277b83 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:10:27 -0500 Subject: [PATCH 20/59] Update sourcefiles.sh --- sourcefiles.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index ec1c10bc892..fbf7a40fc52 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" +IFS=" " read -r -a FILES <<< "$(printf "%s" "$INPUT_FILES" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -17,7 +17,7 @@ fi printf 'Input Files: \n%s\n' "${FILES[@]}" -IFS=$'\n' read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u)" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u | tr "\n" " ")" printf 'All Unique Input files: \n%s\n' "${ALL_UNIQUE_FILES[@]}" From b40354fbdc07fd272b212ea2317b937ec69af570 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:13:46 -0500 Subject: [PATCH 21/59] Update sourcefiles.sh --- sourcefiles.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index fbf7a40fc52..1d505c52449 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -15,11 +15,13 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -printf 'Input Files: \n%s\n' "${FILES[@]}" +echo "Input Files:" +printf '%s\n' "${FILES[@]}" IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u | tr "\n" " ")" -printf 'All Unique Input files: \n%s\n' "${ALL_UNIQUE_FILES[@]}" +echo "All Unique Input files:" +printf "%s\n" "${ALL_UNIQUE_FILES[@]}" echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" From 3672899be97fa0d08f3bc8aef31409a05dcec01c Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:14:01 -0500 Subject: [PATCH 22/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 1d505c52449..10326df43d8 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -16,7 +16,7 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then fi echo "Input Files:" -printf '%s\n' "${FILES[@]}" +printf "%s\n" "${FILES[@]}" IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u | tr "\n" " ")" From 92cbdf8714b5ab75ae72f8d89d13c2b1b10cbc00 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:14:54 -0500 Subject: [PATCH 23/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 10326df43d8..08ce9d0f324 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(printf "%s" "$INPUT_FILES" | sort -u | tr "\n" " ")" +IFS=" " read -r -a FILES <<< "$(echo "$INPUT_FILES" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From fc5d12ccc52199db47589b61e33199c324c45323 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:23:24 -0500 Subject: [PATCH 24/59] Update sourcefiles.sh --- sourcefiles.sh | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 08ce9d0f324..6d17c0ed216 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "$INPUT_FILES" | sort -u | tr "\n" " ")" +IFS=" " read -r -a FILES <<< "$(echo "$INPUT_FILES[*]" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -15,13 +15,11 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -echo "Input Files:" -printf "%s\n" "${FILES[@]}" +echo "Input Files: ${FILES[*]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(printf "%s\n" "${FILES[@]}" | sort -u | tr "\n" " ")" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | tr " " "\n" | sort -u | tr "\n" " ")" -echo "All Unique Input files:" -printf "%s\n" "${ALL_UNIQUE_FILES[@]}" +echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" From db9455d59f53899a6bd90ae1cbc0d1142c4acb41 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:25:21 -0500 Subject: [PATCH 25/59] Update sourcefiles.sh --- sourcefiles.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 6d17c0ed216..15e2c68fca8 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "$INPUT_FILES[*]" | sort -u | tr "\n" " ")" +IFS=" " read -r -a FILES <<< "$(echo "$INPUT_FILES[@]" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -17,7 +17,7 @@ fi echo "Input Files: ${FILES[*]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | tr " " "\n" | sort -u | tr "\n" " ")" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u | tr "\n" " ")" echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" From 598078eaccd6ab3f4790d24a35ddc87a4b54c21d Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:26:58 -0500 Subject: [PATCH 26/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 15e2c68fca8..f7ba12a72bc 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "$INPUT_FILES[@]" | sort -u | tr "\n" " ")" +IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From a8f5886d93318030037afcccbf1db7364bf7f437 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:30:21 -0500 Subject: [PATCH 27/59] Update sourcefiles.sh --- sourcefiles.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index f7ba12a72bc..dabff85d2a7 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -15,11 +15,13 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -echo "Input Files: ${FILES[*]}" +echo "Input Files:" +echo "${FILES[*]}" IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u | tr "\n" " ")" -echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" +echo "All Unique Input files:" +echo "${ALL_UNIQUE_FILES[*]}" echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" From 638d123cb30e1e535291f3b614c1fee57b4878d9 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:34:50 -0500 Subject: [PATCH 28/59] Update sourcefiles.sh --- sourcefiles.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index dabff85d2a7..76c14d9344e 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=" " read -r -a FILES <<< "$(echo "${INPUT_FILES[@]}" | sort -u | tr "\n" " ")" +FILES=() if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -15,6 +15,13 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi +if [[ -n $INPUT_FILES ]]; then + for fileName in $INPUT_FILES + do + FILES+=("$fileName") + done +fi + echo "Input Files:" echo "${FILES[*]}" From f602069125d3ef1f4c9b3c1ab848a80162c50c26 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:37:53 -0500 Subject: [PATCH 29/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 76c14d9344e..f910c8d1d85 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -25,7 +25,7 @@ fi echo "Input Files:" echo "${FILES[*]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr " " "\n" | sort -u | tr "\n" " ")" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | sort -u | tr "\n" " ")" echo "All Unique Input files:" echo "${ALL_UNIQUE_FILES[*]}" From 26e40b2547a1cc7c8af6552957c1f62b98a83a17 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:42:13 -0500 Subject: [PATCH 30/59] Update sourcefiles.sh --- sourcefiles.sh | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index f910c8d1d85..80175b9b628 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -22,14 +22,12 @@ if [[ -n $INPUT_FILES ]]; then done fi -echo "Input Files:" -echo "${FILES[*]}" +echo "Input Files: ${FILES[@]}" -IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | sort -u | tr "\n" " ")" +ALL_UNIQUE_FILES=($(printf "%s\n" "${FILES[@]}" | sort -u)) -echo "All Unique Input files:" -echo "${ALL_UNIQUE_FILES[*]}" +echo "All Unique Input files: ${ALL_UNIQUE_FILES[@]}" -echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" +echo "::set-output name=files::${ALL_UNIQUE_FILES[@]}" echo "::endgroup::" From 41411bea34c10f7964ebeebfaef30918a23b3c02 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:47:59 -0500 Subject: [PATCH 31/59] Update sourcefiles.sh --- sourcefiles.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 80175b9b628..f5c42250a78 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -15,19 +15,19 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -if [[ -n $INPUT_FILES ]]; then +if [[ -n "${INPUT_FILES[@]}" ]]; then for fileName in $INPUT_FILES do FILES+=("$fileName") done fi -echo "Input Files: ${FILES[@]}" +echo "Input Files: ${FILES[*]}" -ALL_UNIQUE_FILES=($(printf "%s\n" "${FILES[@]}" | sort -u)) +mapfile -t ALL_UNIQUE_FILES < <(printf '%s\n' "${FILES[@]}" | sort -u) -echo "All Unique Input files: ${ALL_UNIQUE_FILES[@]}" +echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" -echo "::set-output name=files::${ALL_UNIQUE_FILES[@]}" +echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" echo "::endgroup::" From a479a9d225b340acd256e432ecd0f954647cb115 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:48:40 -0500 Subject: [PATCH 32/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index f5c42250a78..4aeeb4cb515 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -15,7 +15,7 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -if [[ -n "${INPUT_FILES[@]}" ]]; then +if [[ -n $INPUT_FILES ]]; then for fileName in $INPUT_FILES do FILES+=("$fileName") From de409dbe85d5856eff8bd425813c31af8a574eae Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 17:52:24 -0500 Subject: [PATCH 33/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 4aeeb4cb515..4a0b7522d69 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -24,7 +24,7 @@ fi echo "Input Files: ${FILES[*]}" -mapfile -t ALL_UNIQUE_FILES < <(printf '%s\n' "${FILES[@]}" | sort -u) +IFS=$'\n' ALL_UNIQUE_FILES=($(sort -u <<<"${FILES[*]}")); unset IFS echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" From f445276fec41711c3653d29945e525f7d3d39eb3 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 19:18:50 -0500 Subject: [PATCH 34/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 4a0b7522d69..efc8bd9ab91 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -24,7 +24,7 @@ fi echo "Input Files: ${FILES[*]}" -IFS=$'\n' ALL_UNIQUE_FILES=($(sort -u <<<"${FILES[*]}")); unset IFS +IFS=$'\n' read -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | sort -u | tr "\n" " ")" unset IFS echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" From 028c947c2e567b7216eae1d58f60396e13ef7f47 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 19:24:17 -0500 Subject: [PATCH 35/59] Update sourcefiles.sh --- sourcefiles.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index efc8bd9ab91..032896d3499 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -22,12 +22,12 @@ if [[ -n $INPUT_FILES ]]; then done fi -echo "Input Files: ${FILES[*]}" +echo "Input Files: ${FILES}" -IFS=$'\n' read -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | sort -u | tr "\n" " ")" unset IFS +read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | sort -u | tr "\n" " ")" unset IFS -echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" +echo "All Unique Input files: ${ALL_UNIQUE_FILES}" -echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" +echo "::set-output name=files::${ALL_UNIQUE_FILES}" echo "::endgroup::" From 2a3a080547edec3908a63b39d07e73d1fca9b976 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 19:32:32 -0500 Subject: [PATCH 36/59] Update sourcefiles.sh --- sourcefiles.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 032896d3499..00a258ee4b9 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -22,12 +22,13 @@ if [[ -n $INPUT_FILES ]]; then done fi -echo "Input Files: ${FILES}" -read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[*]}" | sort -u | tr "\n" " ")" unset IFS +IFS=' '; echo "Input Files: ${FILES[*]}"; unset IFS -echo "All Unique Input files: ${ALL_UNIQUE_FILES}" +read -r -a ALL_UNIQUE_FILES <<< "$(IFS=$'\n'; echo "${FILES[*]}" | sort -u | tr "\n" " "; unset IFS)" -echo "::set-output name=files::${ALL_UNIQUE_FILES}" +IFS=' '; echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}"; unset IFS + +IFS=' '; echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}"; unset IFS echo "::endgroup::" From b8161467e37e856558dcf78cfa46d153400f3839 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 21:47:21 -0500 Subject: [PATCH 37/59] Update sourcefiles.sh --- sourcefiles.sh | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 00a258ee4b9..602f1ad4eb5 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,28 +4,19 @@ set -e echo "::group::changed-files-from-source-file" -FILES=() +IFS=$'\n' read -d '' -r -a FILES <<< "$INPUT_FILES" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do - while read -r fileName; do - FILES+=("$fileName") - done <"$file" + IFS=$'\n' read -d '' -r -a CURRENT_FILES < "$file" + FILES=("${FILES[@]}" "${CURRENT_FILES[@]}") done fi -if [[ -n $INPUT_FILES ]]; then - for fileName in $INPUT_FILES - do - FILES+=("$fileName") - done -fi - - IFS=' '; echo "Input Files: ${FILES[*]}"; unset IFS -read -r -a ALL_UNIQUE_FILES <<< "$(IFS=$'\n'; echo "${FILES[*]}" | sort -u | tr "\n" " "; unset IFS)" +IFS=$'\n' read -r -a ALL_UNIQUE_FILES <<< "$(IFS=$'\n'; echo "${FILES[*]}" | sort -u; unset IFS)" IFS=' '; echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}"; unset IFS From 3c868ae2624de57516144a5e84f27337f91f69f9 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 21:48:21 -0500 Subject: [PATCH 38/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 602f1ad4eb5..cdb84b1a054 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=$'\n' read -d '' -r -a FILES <<< "$INPUT_FILES" +IFS=$'\n' read -r -a FILES <<< "$INPUT_FILES" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From 9c04d03b31733d12cb480c23b3e39394160753e0 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 21:51:04 -0500 Subject: [PATCH 39/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index cdb84b1a054..3212fd7948c 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -IFS=$'\n' read -r -a FILES <<< "$INPUT_FILES" +IFS=$'\n' read -r -a FILES <<< "${INPUT_FILES[@]}" if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE From 79deab00e757c1529427fcc86c061f26e38a6d38 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 22:01:58 -0500 Subject: [PATCH 40/59] Update sourcefiles.sh --- sourcefiles.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 3212fd7948c..00a258ee4b9 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,19 +4,28 @@ set -e echo "::group::changed-files-from-source-file" -IFS=$'\n' read -r -a FILES <<< "${INPUT_FILES[@]}" +FILES=() if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do - IFS=$'\n' read -d '' -r -a CURRENT_FILES < "$file" - FILES=("${FILES[@]}" "${CURRENT_FILES[@]}") + while read -r fileName; do + FILES+=("$fileName") + done <"$file" done fi +if [[ -n $INPUT_FILES ]]; then + for fileName in $INPUT_FILES + do + FILES+=("$fileName") + done +fi + + IFS=' '; echo "Input Files: ${FILES[*]}"; unset IFS -IFS=$'\n' read -r -a ALL_UNIQUE_FILES <<< "$(IFS=$'\n'; echo "${FILES[*]}" | sort -u; unset IFS)" +read -r -a ALL_UNIQUE_FILES <<< "$(IFS=$'\n'; echo "${FILES[*]}" | sort -u | tr "\n" " "; unset IFS)" IFS=' '; echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}"; unset IFS From 37ace4798a4e16fb02ffd79e2dfe9368517fde0c Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 22:42:41 -0500 Subject: [PATCH 41/59] Update sourcefiles.sh --- sourcefiles.sh | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 00a258ee4b9..483ee3f77d6 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,7 +4,7 @@ set -e echo "::group::changed-files-from-source-file" -FILES=() +FILES=$(echo "${INPUT_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE @@ -15,20 +15,12 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -if [[ -n $INPUT_FILES ]]; then - for fileName in $INPUT_FILES - do - FILES+=("$fileName") - done -fi - - -IFS=' '; echo "Input Files: ${FILES[*]}"; unset IFS +echo "Input Files: ${FILES[*]}" -read -r -a ALL_UNIQUE_FILES <<< "$(IFS=$'\n'; echo "${FILES[*]}" | sort -u | tr "\n" " "; unset IFS)" +ALL_UNIQUE_FILES=$(echo "${FILES[*]}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') -IFS=' '; echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}"; unset IFS +echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" -IFS=' '; echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}"; unset IFS +echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" echo "::endgroup::" From f7b27aa531cd928e508b8e326d60ac08ffee68f2 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 22:49:04 -0500 Subject: [PATCH 42/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 483ee3f77d6..f1fb11a7118 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -10,7 +10,7 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do while read -r fileName; do - FILES+=("$fileName") + FILES=("${FILES[@]}" "$fileName") done <"$file" done fi From be3560be3e80647efd7b4b50662c4fef64ef446a Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 23:02:17 -0500 Subject: [PATCH 43/59] Update sourcefiles.sh --- sourcefiles.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index f1fb11a7118..11174de3dce 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,17 +4,21 @@ set -e echo "::group::changed-files-from-source-file" -FILES=$(echo "${INPUT_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') +FILES=() if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do while read -r fileName; do - FILES=("${FILES[@]}" "$fileName") + FILES+=( "$fileName" ) done <"$file" done fi +CLEAN_INPUT_FILES=$(echo "${INPUT_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') + +FILES=(${FILES[@]} ${CLEAN_INPUT_FILES[@]}) + echo "Input Files: ${FILES[*]}" ALL_UNIQUE_FILES=$(echo "${FILES[*]}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') From 69352032f61a417a84129adf36d25c803c6bc163 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 23:11:04 -0500 Subject: [PATCH 44/59] Update sourcefiles.sh --- sourcefiles.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 11174de3dce..9b1515d1fec 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -4,20 +4,22 @@ set -e echo "::group::changed-files-from-source-file" -FILES=() +RAW_FILES=() if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then for file in $INPUT_FILES_FROM_SOURCE_FILE do while read -r fileName; do - FILES+=( "$fileName" ) + RAW_FILES+=("$fileName") done <"$file" done fi +CLEAN_FILES=$(echo "${RAW_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') + CLEAN_INPUT_FILES=$(echo "${INPUT_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') -FILES=(${FILES[@]} ${CLEAN_INPUT_FILES[@]}) +FILES=(${CLEAN_FILES[@]} ${CLEAN_INPUT_FILES[@]}) echo "Input Files: ${FILES[*]}" From d32dc71d7e8f020d7c776e353509d759f84ad9c2 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 23:11:38 -0500 Subject: [PATCH 45/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 9b1515d1fec..3ba3512a255 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -19,7 +19,7 @@ CLEAN_FILES=$(echo "${RAW_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}E CLEAN_INPUT_FILES=$(echo "${INPUT_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') -FILES=(${CLEAN_FILES[@]} ${CLEAN_INPUT_FILES[@]}) +FILES=("${CLEAN_FILES[@]}" "${CLEAN_INPUT_FILES[@]}") echo "Input Files: ${FILES[*]}" From 1e088de6e0099348e3f5ef11e0ef9f5826a42f68 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 23:15:14 -0500 Subject: [PATCH 46/59] Update sourcefiles.sh --- sourcefiles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 3ba3512a255..42c9f35daf8 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -15,7 +15,7 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -CLEAN_FILES=$(echo "${RAW_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') +CLEAN_FILES=$(echo "${RAW_FILES[*]}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') CLEAN_INPUT_FILES=$(echo "${INPUT_FILES}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') From 4633ecc82ae9ecb388098f4cf01265754468598c Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Mon, 3 Jan 2022 23:29:04 -0500 Subject: [PATCH 47/59] Update sourcefiles.sh --- sourcefiles.sh | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sourcefiles.sh b/sourcefiles.sh index 42c9f35daf8..419b50411ff 100644 --- a/sourcefiles.sh +++ b/sourcefiles.sh @@ -15,17 +15,15 @@ if [[ -n $INPUT_FILES_FROM_SOURCE_FILE ]]; then done fi -CLEAN_FILES=$(echo "${RAW_FILES[*]}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') +IFS=" " read -r -a CLEAN_FILES <<< "$(echo "${RAW_FILES[*]}" | tr "\r\n" "\n" | tr " " "\n" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')" -CLEAN_INPUT_FILES=$(echo "${INPUT_FILES}" | sort -u | 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" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')" FILES=("${CLEAN_FILES[@]}" "${CLEAN_INPUT_FILES[@]}") -echo "Input Files: ${FILES[*]}" +IFS=" " read -r -a ALL_UNIQUE_FILES <<< "$(echo "${FILES[@]}" | tr "\r\n" "\n" | tr " " "\n" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}')" -ALL_UNIQUE_FILES=$(echo "${FILES[*]}" | sort -u | awk -v d=" " '{s=(NR==1?s:s d)$0}END{print s}') - -echo "All Unique Input files: ${ALL_UNIQUE_FILES[*]}" +echo "Input files: ${ALL_UNIQUE_FILES[*]}" echo "::set-output name=files::${ALL_UNIQUE_FILES[*]}" From c392336510466aa123843d544d7d26fd179ce8f6 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 01:33:30 -0500 Subject: [PATCH 48/59] Update action.yml --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 1959988f9e7..e41755c9ac7 100644 --- a/action.yml +++ b/action.yml @@ -107,7 +107,7 @@ runs: INPUT_FILES: ${{ inputs.files }} INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }} - name: Glob match - uses: tj-actions/glob@v1.2 + uses: tj-actions/glob@v1.3 id: glob with: files: ${{ steps.source-input-files.outputs.files }} From 9a89b39a77e5697b1330163cfffb3a0655dfeef5 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 01:37:30 -0500 Subject: [PATCH 49/59] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f9ed087b6b4..d8f287df042 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -342,7 +342,7 @@ jobs: uses: ./ with: files: | - .github/workflows/test.yml + **/test.yml action.yml separator: "|" - name: Show output From e388b93aef78b8f033761f2e4b9f0513b41e1ae6 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 01:37:48 -0500 Subject: [PATCH 50/59] Update changed-files-list.txt --- test/changed-files-list.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/changed-files-list.txt b/test/changed-files-list.txt index fc0f044b42e..f7e7a985cc1 100644 --- a/test/changed-files-list.txt +++ b/test/changed-files-list.txt @@ -1,4 +1,4 @@ .github/workflows/test.yml action.yml action.yml -action.yml +!action.yml From 72138d2258d2e4888d506f40c3078b996e9d5758 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 01:39:01 -0500 Subject: [PATCH 51/59] Update changed-files-list.txt --- test/changed-files-list.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/changed-files-list.txt b/test/changed-files-list.txt index f7e7a985cc1..7c69a60b331 100644 --- a/test/changed-files-list.txt +++ b/test/changed-files-list.txt @@ -1,4 +1,5 @@ .github/workflows/test.yml action.yml action.yml -!action.yml +action.yml +!*.txt From 2697233aa862b44e6d0b99debad860d1265f4a2b Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 04:33:31 -0500 Subject: [PATCH 52/59] Update action.yml --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index e41755c9ac7..328640a3ccb 100644 --- a/action.yml +++ b/action.yml @@ -107,7 +107,7 @@ runs: INPUT_FILES: ${{ inputs.files }} INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }} - name: Glob match - uses: tj-actions/glob@v1.3 + uses: tj-actions/glob@v1.4 id: glob with: files: ${{ steps.source-input-files.outputs.files }} From 8444e8978cdaff40532db8aa9bf4882fd782de86 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:00:32 -0500 Subject: [PATCH 53/59] Update action.yml --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 328640a3ccb..cb39d2188ec 100644 --- a/action.yml +++ b/action.yml @@ -107,7 +107,7 @@ runs: INPUT_FILES: ${{ inputs.files }} INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }} - name: Glob match - uses: tj-actions/glob@v1.4 + uses: tj-actions/glob@v2 id: glob with: files: ${{ steps.source-input-files.outputs.files }} From 4ad795df83b2bd5bef6795e1588f0c3aff9a5b30 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:13:13 -0500 Subject: [PATCH 54/59] Update entrypoint.sh --- entrypoint.sh | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 577d23f822a..f40e3f449a4 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -93,7 +93,7 @@ echo "Retrieving changes between $PREVIOUS_SHA ($TARGET_BRANCH) → $CURRENT_SHA echo "Getting diff..." -if [[ -z "${INPUT_FILES[*]}" ]]; 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,22 +106,18 @@ if [[ -z "${INPUT_FILES[*]}" ]]; 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: ${INPUT_FILES[*]}" - - FILES=$(echo "${INPUT_FILES[*]}" | awk '{gsub(/ /,"\n"); print $0;}' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}') - - echo "Checking for file changes: \"${FILES}\"..." - ADDED=$(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}') + echo "Checking for file changes: \"${INPUT_FILES}\"..." + 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;}' | sort -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}') From 7f73aace4eca61f238320a742dfca2e8c72b6a76 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:18:37 -0500 Subject: [PATCH 55/59] Update test.yml --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d8f287df042..f86d6958025 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -425,7 +425,7 @@ jobs: test/changed-files-list.txt test/changed-files-list.txt files: | - .github/workflows/rebase.yml + **/rebase.yml - name: Verify any_changed from source files if: | ( @@ -555,7 +555,7 @@ jobs: uses: ./ with: files: | - .github/workflows/test.yml + *.yml - name: Verify only_changed files if: steps.changed-files-specific-only-changed.outputs.other_changed_files != '' run: | From 38c40faadff266d25455ac1fa1ba96db16c84ba6 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:24:07 -0500 Subject: [PATCH 56/59] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 24365ff9583..1c02ec686c8 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Retrieve all changed files relative to the default branch (`pull_request*` based * Between the last remote branch commit and the current HEAD. * Restrict change detection to a subset of files. * Report on files that have at least one change. - * [Regex pattern](https://www.gnu.org/software/grep/manual/grep.html#Regular-Expressions) matching on a subset of files. + * [Glob pattern](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) matching on a subset of files. ## Usage @@ -173,10 +173,10 @@ Support this project with a :star: test.txt new.txt test_directory - \.sh$ - .(png|jpeg)$ - .(sql|py)$ - ^(mynewfile|custom) + *.sh + *.png + *.jpeg + **/migrate-*.sql - name: Run step if any of the listed files above change if: steps.changed-files-specific.outputs.any_changed == "true" From e69e619e013afc7656ca1d4fe0b6774d2e993bed Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:25:08 -0500 Subject: [PATCH 57/59] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f86d6958025..b64fa17c728 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -425,7 +425,7 @@ jobs: test/changed-files-list.txt test/changed-files-list.txt files: | - **/rebase.yml + **/workflows/rebase.yml - name: Verify any_changed from source files if: | ( From 70378e0e34b443fb314a7ad0c463076183926f59 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:30:08 -0500 Subject: [PATCH 58/59] Update entrypoint.sh --- entrypoint.sh | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index f40e3f449a4..577d23f822a 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -93,7 +93,7 @@ echo "Retrieving changes between $PREVIOUS_SHA ($TARGET_BRANCH) → $CURRENT_SHA echo "Getting diff..." -if [[ -z "$INPUT_FILES" ]]; 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,18 +106,22 @@ if [[ -z "$INPUT_FILES" ]]; 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 "Checking for file changes: \"${INPUT_FILES}\"..." - 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}') + echo "Input files: ${INPUT_FILES[*]}" + + FILES=$(echo "${INPUT_FILES[*]}" | awk '{gsub(/ /,"\n"); print $0;}' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}') + + echo "Checking for file changes: \"${FILES}\"..." + ADDED=$(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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 "(${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;}' | sort -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}') From bdbe7561a647790626f19534a9a10aa5123d9f01 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Tue, 4 Jan 2022 21:32:17 -0500 Subject: [PATCH 59/59] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b64fa17c728..15e1d437523 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -555,7 +555,7 @@ jobs: uses: ./ with: files: | - *.yml + .github/**/test.yml - name: Verify only_changed files if: steps.changed-files-specific-only-changed.outputs.other_changed_files != '' run: |