Add some fetch & builing scripts
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled

This commit is contained in:
2026-04-15 21:11:20 +00:00
parent 6382652b70
commit eb0b9b2dee
6 changed files with 115 additions and 0 deletions
View File
+1
View File
@@ -0,0 +1 @@
bbf6f727986817c353c8e7bc9aa16cf0d85f8dc4
+4
View File
@@ -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"
}
}
Symlink
+1
View File
@@ -0,0 +1 @@
/usr/bin/pnpm
Executable
+74
View File
@@ -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
+35
View File
@@ -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"