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-keys": "npm:@nolyfill/object-keys@^1",
|
||||||
"object.entries": "npm:@nolyfill/object.entries@^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