From ab63de000b7208eeb6445b661a3feafa09f2a2aa Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Tue, 28 Jul 2026 20:55:00 +0200 Subject: [PATCH] fix(ci): clone bare repo and fetch PR branch tip Co-authored-by: Cursor --- .gitea/workflows/ci.yaml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index d885a8ca..7af36ec6 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -15,23 +15,36 @@ jobs: BARE="/docker/gitea/gitea/git/repositories/remco/epicnext-cms.git" REF="${{ gitea.sha }}" + HEAD_REF="${{ gitea.head_ref }}" if [ -z "${REF}" ]; then echo "ERROR: missing gitea.sha" >&2 exit 1 fi WORK="$(mktemp -d /var/tmp/epicnext-ci.XXXXXX)" - cleanup() { - git -C "${BARE}" worktree remove --force "${WORK}" 2>/dev/null || rm -rf "${WORK}" || true - } + cleanup() { rm -rf "${WORK}"; } trap cleanup EXIT - echo "--- CI checks (${WORK} @ ${REF}) ---" - git config --global --add safe.directory "${BARE}" - git -C "${BARE}" worktree remove --force "${WORK}" 2>/dev/null || rm -rf "${WORK}" || true - git -C "${BARE}" worktree add --detach "${WORK}" "${REF}" + echo "--- CI checks ---" + echo "REF=${REF}" + echo "HEAD_REF=${HEAD_REF}" + echo "WORK=${WORK}" + + git clone --no-checkout "${BARE}" "${WORK}" cd "${WORK}" + # Prefer the PR branch tip (reliable on Gitea); fall back to exact SHA. + if [ -n "${HEAD_REF}" ] && git fetch --depth 1 origin "${HEAD_REF}"; then + git checkout -f FETCH_HEAD + else + echo "Branch fetch failed; trying SHA ${REF}" + git fetch --depth 1 origin "${REF}" + git checkout -f FETCH_HEAD + fi + + echo "Checked out $(git rev-parse --short HEAD)" + git log -1 --oneline + export SKIP_ENV_VALIDATION=1 export ARGON2_MEMORY_SIZE=1024 export ARGON2_ITERATIONS=1