fix(ci): clone bare repo and fetch PR branch tip

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-28 20:55:00 +02:00
1 parent 3532972357
commit ab63de000b
1 file changed
+20 -7
+20 -7
View File
@@ -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