ci: improve change detection by event
This commit is contained in:
parent
b87c0b0221
commit
081d885242
|
|
@ -23,21 +23,23 @@ jobs:
|
|||
set -euo pipefail
|
||||
git fetch --quiet --depth=1 origin "${GITHUB_BASE_REF:-}" || true
|
||||
|
||||
diff_range=""
|
||||
if [ -n "${GITHUB_BASE_REF:-}" ]; then
|
||||
files=""
|
||||
if [ "${GITHUB_EVENT_NAME:-}" = "pull_request" ] && [ -n "${GITHUB_BASE_REF:-}" ]; then
|
||||
base_ref="origin/${GITHUB_BASE_REF}"
|
||||
if git rev-parse --verify "$base_ref" >/dev/null 2>&1; then
|
||||
diff_range="$(git merge-base "$base_ref" HEAD)..HEAD"
|
||||
files="$(git diff --name-only "$base_ref"...HEAD)"
|
||||
else
|
||||
files="$(git diff --name-only HEAD^..HEAD || true)"
|
||||
fi
|
||||
else
|
||||
if git rev-parse --verify HEAD^ >/dev/null 2>&1; then
|
||||
diff_range="HEAD^..HEAD"
|
||||
if git rev-parse --verify "${GITHUB_SHA}^" >/dev/null 2>&1; then
|
||||
files="$(git diff --name-only "${GITHUB_SHA}^" "${GITHUB_SHA}")"
|
||||
else
|
||||
files="$(git diff --name-only HEAD^..HEAD || true)"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$diff_range" ]; then
|
||||
files="$(git diff --name-only "$diff_range")"
|
||||
else
|
||||
if [ -z "$files" ]; then
|
||||
files="$(git ls-files)"
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue