From 2c0d12b627191145ce31c2a098d8d37e93b35861 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Fri, 30 Jul 2021 12:14:01 -0400 Subject: [PATCH] Detect deleted files via any_changed output (#149) --- README.md | 2 +- entrypoint.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b762deab..a6c981a9 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ jobs: | Output | type | example | description | |:--------------------:|:------------:|:----------------------------------:|:----------------------------------------:| -| any_changed | `string` | `true` OR `false` | Returns `true` when any
of the filenames provided using
the `files` input has changed (ACMR) | +| any_changed | `string` | `true` OR `false` | Returns `true` when any
of the filenames provided using
the `files` input has changed (ACMDR) | | only_changed | `string` | `true` OR `false` | Returns `true` when only
files provided using
the `files` input have changed. | | other_changed_files | `string` | `'new.txt path/to/file.png ...'` | Select all modified files
not listed in the files input
i.e. *a combination of all added,
copied and modified files (ACM).* | | all_modified_files | `string` | `'new.txt path/to/file.png ...'` | Select all modified files
i.e. *a combination of all added,
copied, modified and renamed files (ACMR).* | diff --git a/entrypoint.sh b/entrypoint.sh index d3872302..1b3a56cd 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -64,7 +64,7 @@ if [[ -z "$UNIQUE_FILES" ]]; then UNMERGED=$(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//") UNKNOWN=$(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//") ALL_CHANGED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//") - ALL_MODIFIED_FILES=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//") + ALL_MODIFIED_FILES=$(git diff --diff-filter="ACMDR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | tr "\n" "$INPUT_SEPARATOR" | sed -E "s/($INPUT_SEPARATOR)$//") else ADDED_ARRAY=() COPIED_ARRAY=() @@ -100,7 +100,7 @@ else # shellcheck disable=SC2207 ALL_CHANGED_ARRAY+=($(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs || true)) # shellcheck disable=SC2207 - ALL_MODIFIED_FILES_ARRAY+=($(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs || true)) + ALL_MODIFIED_FILES_ARRAY+=($(git diff --diff-filter="ACMDR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs || true)) done # shellcheck disable=SC2001 @@ -139,7 +139,7 @@ echo "All modified files: $ALL_MODIFIED_FILES" if [[ -n "$UNIQUE_FILES" ]]; then # shellcheck disable=SC2001 ALL_INPUT_FILES=$(echo "$UNIQUE_FILES" | tr "\n" " " | xargs) - ALL_OTHER_CHANGED_FILES=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA") + ALL_OTHER_CHANGED_FILES=$(git diff --diff-filter="ACMDR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA") OTHER_CHANGED_FILES=$(echo "${ALL_OTHER_CHANGED_FILES[@]}" "${ALL_MODIFIED_FILES[@]}" | tr ' ' '\n' | sort | uniq -u | tr "\n" " " | xargs)