diff --git a/scripts/ffg-build.sh b/scripts/ffg-build.sh index 8f07313..ea59f42 100755 --- a/scripts/ffg-build.sh +++ b/scripts/ffg-build.sh @@ -10,9 +10,8 @@ VERSION="${1:-}" WORKSPACE="/opt/mod-builds/firefrost-services/services/discord-rules" NC1_USER="ffg-builder" NC1_HOST="216.239.104.130" -NC1_KEY="${HOME}/.ssh/ffg_build_rsa" +NC1_KEY="/opt/mod-builds/ffg_build_rsa" NC1_WORKSPACE="/home/ffg-builder/workspaces/build-$$" -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" if [[ -z "$VERSION" ]]; then echo "[ERROR] Usage: ffg-build.sh " @@ -20,31 +19,31 @@ if [[ -z "$VERSION" ]]; then exit 1 fi - # Route decision if [[ "$VERSION" == "1.21.1" ]]; then echo "[ROUTING] NeoForge $VERSION — routing build to NC1 (Vineflower RAM requirement)" # Trap: clean up NC1 workspace on exit (covers drops, errors, ctrl+c) - trap 'echo "[CLEANUP] Removing NC1 workspace..."; ssh -i "$NC1_KEY" -o StrictHostKeyChecking=no "$NC1_USER@$NC1_HOST" "rm -rf $NC1_WORKSPACE" 2>/dev/null || true' EXIT + trap 'echo "[CLEANUP] Removing NC1 workspace..."; ssh -i "$NC1_KEY" -o StrictHostKeyChecking=no -o IdentitiesOnly=yes "$NC1_USER@$NC1_HOST" "rm -rf $NC1_WORKSPACE" 2>/dev/null || true' EXIT + + NC1_SSH="ssh -i $NC1_KEY -o StrictHostKeyChecking=no -o IdentitiesOnly=yes" # Create workspace on NC1 - ssh -i "$NC1_KEY" -o StrictHostKeyChecking=no "$NC1_USER@$NC1_HOST" \ + ssh -i "$NC1_KEY" -o StrictHostKeyChecking=no -o IdentitiesOnly=yes "$NC1_USER@$NC1_HOST" \ "mkdir -p $NC1_WORKSPACE" # Sync source to NC1 (exclude local build artifacts and gradle cache) - rsync -az --exclude 'build/' --exclude '.gradle/' \ + rsync -az -e "$NC1_SSH" --exclude 'build/' --exclude '.gradle/' \ "$WORKSPACE/$VERSION/" \ "$NC1_USER@$NC1_HOST:$NC1_WORKSPACE/" echo "[NC1] Running Gradle build..." - ssh -i "$NC1_KEY" -o StrictHostKeyChecking=no "$NC1_USER@$NC1_HOST" \ + ssh -i "$NC1_KEY" -o StrictHostKeyChecking=no -o IdentitiesOnly=yes "$NC1_USER@$NC1_HOST" \ "cd $NC1_WORKSPACE && ./gradlew build --no-daemon" - # Retrieve only the compiled jar mkdir -p "$WORKSPACE/$VERSION/build/libs" - rsync -az \ + rsync -az -e "$NC1_SSH" \ "$NC1_USER@$NC1_HOST:$NC1_WORKSPACE/build/libs/" \ "$WORKSPACE/$VERSION/build/libs/" \ --include "*.jar" --exclude "*"