ci: improve change detection by event
Some checks failed
ci / changes (push) Successful in 3s
ci / backend (push) Successful in 1m49s
ci / flutter (push) Has been cancelled

This commit is contained in:
Oskar Kapala 2026-01-16 15:54:08 +01:00
parent b87c0b0221
commit 081d885242

View file

@ -23,21 +23,23 @@ jobs:
set -euo pipefail set -euo pipefail
git fetch --quiet --depth=1 origin "${GITHUB_BASE_REF:-}" || true git fetch --quiet --depth=1 origin "${GITHUB_BASE_REF:-}" || true
diff_range="" files=""
if [ -n "${GITHUB_BASE_REF:-}" ]; then if [ "${GITHUB_EVENT_NAME:-}" = "pull_request" ] && [ -n "${GITHUB_BASE_REF:-}" ]; then
base_ref="origin/${GITHUB_BASE_REF}" base_ref="origin/${GITHUB_BASE_REF}"
if git rev-parse --verify "$base_ref" >/dev/null 2>&1; then 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 fi
else else
if git rev-parse --verify HEAD^ >/dev/null 2>&1; then if git rev-parse --verify "${GITHUB_SHA}^" >/dev/null 2>&1; then
diff_range="HEAD^..HEAD" files="$(git diff --name-only "${GITHUB_SHA}^" "${GITHUB_SHA}")"
else
files="$(git diff --name-only HEAD^..HEAD || true)"
fi fi
fi fi
if [ -n "$diff_range" ]; then if [ -z "$files" ]; then
files="$(git diff --name-only "$diff_range")"
else
files="$(git ls-files)" files="$(git ls-files)"
fi fi