mirror of
https://git.quad4.io/RNS-Things/MeshChatX.git
synced 2026-04-02 14:25:43 +00:00
39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Clone and checkout using Gitea Actions environment variables.
|
|
# Source: self-contained, no third-party dependencies.
|
|
#
|
|
# Usage: checkout.sh [fetch_depth]
|
|
# fetch_depth: number of commits (default 1), or 0 for full history.
|
|
#
|
|
# Required env: GITEA_SERVER_URL, GITEA_REPOSITORY, GITHUB_SHA
|
|
# Optional env: GITEA_TOKEN (for private repos), GITHUB_WORKSPACE
|
|
set -eu
|
|
|
|
FETCH_DEPTH="${1:-1}"
|
|
SERVER="${GITEA_SERVER_URL:-${GITHUB_SERVER_URL:?GITEA_SERVER_URL not set}}"
|
|
REPO="${GITEA_REPOSITORY:-${GITHUB_REPOSITORY:?GITEA_REPOSITORY not set}}"
|
|
SHA="${GITHUB_SHA:?GITHUB_SHA not set}"
|
|
TOKEN="${GITEA_TOKEN:-${GITHUB_TOKEN:-}}"
|
|
WORKSPACE="${GITHUB_WORKSPACE:-.}"
|
|
|
|
cd "$WORKSPACE"
|
|
|
|
if [ -n "$TOKEN" ]; then
|
|
git config --global credential.helper \
|
|
"!f() { echo username=x-access-token; echo \"password=${TOKEN}\"; }; f"
|
|
fi
|
|
|
|
ORIGIN="${SERVER}/${REPO}.git"
|
|
|
|
if [ "$FETCH_DEPTH" = "0" ]; then
|
|
git clone -q "$ORIGIN" .
|
|
else
|
|
git init -q
|
|
git remote add origin "$ORIGIN"
|
|
git fetch -q --depth="$FETCH_DEPTH" origin "$SHA"
|
|
fi
|
|
|
|
git checkout -q "$SHA" 2>/dev/null || git checkout -q FETCH_HEAD
|
|
|
|
echo "Checked out ${REPO} at $(git rev-parse --short HEAD)"
|