fix(ci): clone bare repo and fetch PR branch tip
Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
3532972357
commit
ab63de000b
1 file changed
+20
-7
@@ -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
|
||||
|
||||
Reference in new issue
Block a user