From 081d8852427fa2655f09a5eab27e5e6433dd14f0 Mon Sep 17 00:00:00 2001 From: Oskar Kapala Date: Fri, 16 Jan 2026 15:54:08 +0100 Subject: [PATCH] ci: improve change detection by event --- .forgejo/workflows/ci.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 6241906..064c29c 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -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