name: CI on: pull_request: branches: - main jobs: check: runs-on: shell steps: - name: Typecheck, lint, and test run: | set -e exec 2>&1 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() { rm -rf "${WORK}"; } trap cleanup EXIT 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 export BCRYPT_ROUNDS=4 pnpm install --frozen-lockfile pnpm prisma:generate pnpm biome:lint pnpm typecheck pnpm test echo "--- CI checks passed ---"