Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f861d0fa8c |
@@ -52,8 +52,10 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- if: ${{ inputs.is_pull_request == false }}
|
- if: ${{ inputs.is_pull_request == false }}
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
# Полная история: BEFORE_SHA = github.event.before при multi-commit push
|
||||||
|
# лежит глубже shallow-среза, и git diff падает с "bad object".
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2
|
fetch-depth: 0
|
||||||
- id: detect
|
- id: detect
|
||||||
name: Detect changed paths per module
|
name: Detect changed paths per module
|
||||||
env:
|
env:
|
||||||
@@ -94,7 +96,14 @@ jobs:
|
|||||||
after="${HEAD_SHA:-$(git rev-parse HEAD)}"
|
after="${HEAD_SHA:-$(git rev-parse HEAD)}"
|
||||||
before="$BEFORE_SHA"
|
before="$BEFORE_SHA"
|
||||||
if [ -n "$before" ] && [ "$before" != "0000000000000000000000000000000000000000" ]; then
|
if [ -n "$before" ] && [ "$before" != "0000000000000000000000000000000000000000" ]; then
|
||||||
FILES="$(git diff --name-only "$before" "$after")"
|
# Force-push мог отбросить before; отсутствие объекта — не ошибка,
|
||||||
|
# а сигнал уйти в полный прогон через пустой diff.
|
||||||
|
if git cat-file -e "$before^{commit}" 2>/dev/null; then
|
||||||
|
FILES="$(git diff --name-only "$before" "$after")"
|
||||||
|
else
|
||||||
|
echo "BEFORE_SHA $before not found in checkout — full pipeline fallback"
|
||||||
|
FILES=""
|
||||||
|
fi
|
||||||
elif git rev-parse --verify HEAD~1 >/dev/null 2>&1; then
|
elif git rev-parse --verify HEAD~1 >/dev/null 2>&1; then
|
||||||
FILES="$(git diff --name-only HEAD~1 HEAD)"
|
FILES="$(git diff --name-only HEAD~1 HEAD)"
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in new issue
Block a user