Add some fetch & builing scripts
This commit is contained in:
@@ -0,0 +1 @@
|
||||
bbf6f727986817c353c8e7bc9aa16cf0d85f8dc4
|
||||
@@ -154,5 +154,9 @@
|
||||
"object-keys": "npm:@nolyfill/object-keys@^1",
|
||||
"object.entries": "npm:@nolyfill/object.entries@^1"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"0-smart-build": "./smart-build.sh",
|
||||
"1-smart-build": "./update-gitea.sh"
|
||||
}
|
||||
}
|
||||
|
||||
Executable
+74
@@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Încarcă NVM dacă este disponibil
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
|
||||
# Forțează folosirea versiunii 22
|
||||
nvm use 22 > /dev/null 2>&1 || echo "⚠️ NVM nu a putut activa Node 22 automatically."
|
||||
|
||||
# --- 1. VERIFICARE INTEGRITATE ȘI CURĂȚARE CACHE INIȚIALĂ ---
|
||||
echo "🔍 Verificare stare inițială..."
|
||||
|
||||
# Dacă compilarea anterioară a fost întreruptă, ștergem binarul parțial
|
||||
if [ -f "gitea" ] || [ -f "gitea.exe" ]; then
|
||||
echo "🧹 Am găsit resturi de la o compilare anterioară. Curăț..."
|
||||
rm -f gitea gitea.exe
|
||||
fi
|
||||
|
||||
# Verificăm dacă node_modules există. Dacă nu, forțăm pnpm install
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "⚠️ node_modules lipsește. Forțez instalarea..."
|
||||
pnpm install --frozen-lockfile
|
||||
fi
|
||||
|
||||
# --- 2. LOGICĂ FRONTEND (CHECKSUM) ---
|
||||
CHECKSUM_FILE=".frontend.hash"
|
||||
CURRENT_HASH=$(find web_src package.json tailwind.config.js -type f -print0 2>/dev/null | xargs -0 sha1sum | sha1sum | awk '{print $1}')
|
||||
|
||||
if [ -f "$CHECKSUM_FILE" ] && [ "$CURRENT_HASH" == "$(cat $CHECKSUM_FILE)" ]; then
|
||||
echo "✅ Frontend neschimbat."
|
||||
else
|
||||
echo "🚀 Modificări detectate. Se rulează pnpm build..."
|
||||
pnpm install --frozen-lockfile && pnpm run build
|
||||
echo "$CURRENT_HASH" > "$CHECKSUM_FILE"
|
||||
fi
|
||||
|
||||
# --- 3. COMPILARE MULTI-PLATFORMĂ ---
|
||||
TARGETS=("linux/amd64" "windows/amd64" "linux/arm/7")
|
||||
|
||||
mkdir -p dist
|
||||
|
||||
for TARGET in "${TARGETS[@]}"; do
|
||||
IFS="/" read -r OS ARCH ARM_VER <<< "$TARGET"
|
||||
|
||||
EXT="" && [ "$OS" == "windows" ] && EXT=".exe"
|
||||
SUFFIX="-$OS-$ARCH" && [ ! -z "$ARM_VER" ] && SUFFIX="-$OS-armv$ARM_VER"
|
||||
OUTPUT="dist/gitea$SUFFIX$EXT"
|
||||
|
||||
echo "📦 Building for $OS/$ARCH ${ARM_VER:+(v$ARM_VER)}..."
|
||||
|
||||
# Setăm variabilele și compilăm
|
||||
export GOOS=$OS
|
||||
export GOARCH=$ARCH
|
||||
export GOARM=$ARM_VER
|
||||
export CGO_ENABLED=0
|
||||
|
||||
# Rulăm build-ul
|
||||
make build TAGS="bindata"
|
||||
|
||||
# Verificăm dacă binarul a fost creat cu succes
|
||||
if [ -f "gitea$EXT" ]; then
|
||||
mv "gitea$EXT" "$OUTPUT"
|
||||
echo "✅ Creat: $OUTPUT"
|
||||
else
|
||||
echo "❌ Eroare: Binarul pentru $OS/$ARCH nu a putut fi generat!"
|
||||
exit 1 # Oprim totul dacă o platformă eșuează
|
||||
fi
|
||||
|
||||
unset GOOS GOARCH GOARM
|
||||
done
|
||||
|
||||
# --- 4. CURĂȚARE FINALĂ ---
|
||||
echo "✨ Build finalizat cu succes în /dist"
|
||||
go clean -cache
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Configurare nume ramură (main sau master)
|
||||
BRANCH="main"
|
||||
REMOTE_NAME="upstream"
|
||||
REMOTE_URL="https://github.com/go-gitea/gitea.git"
|
||||
|
||||
echo "🔍 Verificare sursă upstream..."
|
||||
|
||||
# Verificăm dacă remote-ul 'upstream' există, dacă nu, îl adăugăm
|
||||
if ! git remote | grep -q "$REMOTE_NAME"; then
|
||||
echo "➕ Adăugare remote $REMOTE_NAME..."
|
||||
git remote add $REMOTE_NAME $REMOTE_URL
|
||||
fi
|
||||
|
||||
echo "📦 Salvare modificări locale (Stash)..."
|
||||
git stash
|
||||
|
||||
echo "🔄 Descărcare noutăți de la Gitea oficial..."
|
||||
git fetch $REMOTE_NAME
|
||||
|
||||
echo "🚀 Aplicare noutăți peste modificările tale (Rebase)..."
|
||||
if git rebase $REMOTE_NAME/$BRANCH; then
|
||||
echo "✅ Actualizare reușită!"
|
||||
else
|
||||
echo "⚠️ CONFLICTE DETECTATE!"
|
||||
echo "Te rog rezolvă conflictele manual în panoul Source Control din code-server,"
|
||||
echo "apoi rulează 'git rebase --continue'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📥 Recuperare modificări locale din stash..."
|
||||
git stash pop
|
||||
|
||||
echo "✨ Proiectul este acum la zi cu $REMOTE_NAME/$BRANCH"
|
||||
Reference in New Issue
Block a user