deploy
This commit is contained in:
parent
30b876106c
commit
2881b4a5a6
1 changed files with 31 additions and 52 deletions
|
|
@ -384,64 +384,43 @@ jobs:
|
||||||
|
|
||||||
echo "🔨 Собираем веб-приложение (оптимизировано для 1.5GB памяти)..."
|
echo "🔨 Собираем веб-приложение (оптимизировано для 1.5GB памяти)..."
|
||||||
|
|
||||||
# Try multiple build strategies, starting with most memory-efficient
|
# Use only profile mode - most memory efficient
|
||||||
echo "🌐 Стратегия 1: WASM сборка..."
|
echo "⚡ Используем profile mode (наиболее эффективный по памяти)..."
|
||||||
if timeout 1800 flutter build web --release \
|
|
||||||
--dart-define=API_BASE_URL=https://api.mnemo-cards.online \
|
|
||||||
--wasm \
|
|
||||||
--no-tree-shake-icons; then
|
|
||||||
echo "✅ WASM сборка успешна"
|
|
||||||
else
|
|
||||||
echo "⚠️ WASM не удался, стратегия 2: dart2js..."
|
|
||||||
|
|
||||||
# Try dart2js (less memory than canvaskit)
|
export DART_VM_OPTIONS="$DART_VM_OPTIONS --gc-on-threshold --low-memory-mode --enable-isolate-groups --use-slow-path"
|
||||||
if timeout 1800 flutter build web --release \
|
echo "🔧 Настройки памяти: $DART_VM_OPTIONS"
|
||||||
|
|
||||||
|
timeout 2400 bash -c '
|
||||||
|
# Monitor memory usage during build
|
||||||
|
(
|
||||||
|
while true; do
|
||||||
|
echo "$(date +%H:%M:%S) Memory: $(free -m | grep Mem: | awk '\''{printf "%.1fGB", $3/1024}'\'')" >> /tmp/memory.log
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
) &
|
||||||
|
MONITOR_PID=$!
|
||||||
|
|
||||||
|
# Build with profile mode - much less memory intensive than release
|
||||||
|
flutter build web --profile \
|
||||||
--dart-define=API_BASE_URL=https://api.mnemo-cards.online \
|
--dart-define=API_BASE_URL=https://api.mnemo-cards.online \
|
||||||
--dart2js-optimization=O1 \
|
|
||||||
--no-tree-shake-icons \
|
--no-tree-shake-icons \
|
||||||
--no-pub \
|
--no-pub \
|
||||||
--suppress-analytics; then
|
--suppress-analytics
|
||||||
echo "✅ dart2js с HTML renderer успешна"
|
|
||||||
|
BUILD_RESULT=$?
|
||||||
|
kill $MONITOR_PID 2>/dev/null || true
|
||||||
|
|
||||||
|
if [ $BUILD_RESULT -eq 0 ]; then
|
||||||
|
echo "✅ Profile сборка успешна!"
|
||||||
|
echo "📊 Лог использования памяти:"
|
||||||
|
cat /tmp/memory.log || true
|
||||||
else
|
else
|
||||||
echo "⚠️ dart2js тоже провалился, стратегия 3: profile mode..."
|
echo "❌ Profile сборка провалилась!"
|
||||||
|
echo "📊 Лог использования памяти:"
|
||||||
export DART_VM_OPTIONS="$DART_VM_OPTIONS --gc-on-threshold --low-memory-mode --enable-isolate-groups --use-slow-path"
|
cat /tmp/memory.log || true
|
||||||
echo "🔧 Финальные настройки памяти: $DART_VM_OPTIONS"
|
exit 1
|
||||||
|
|
||||||
timeout 2400 bash -c '
|
|
||||||
# Monitor memory usage during build
|
|
||||||
(
|
|
||||||
while true; do
|
|
||||||
echo "$(date +%H:%M:%S) Memory: $(free -m | grep Mem: | awk '\''{printf "%.1fGB", $3/1024}'\'')" >> /tmp/memory.log
|
|
||||||
sleep 10
|
|
||||||
done
|
|
||||||
) &
|
|
||||||
MONITOR_PID=$!
|
|
||||||
|
|
||||||
# Try profile mode instead of release - much less memory intensive
|
|
||||||
flutter build web --profile \
|
|
||||||
--dart-define=API_BASE_URL=https://api.mnemo-cards.online \
|
|
||||||
--no-tree-shake-icons \
|
|
||||||
--no-pub \
|
|
||||||
--suppress-analytics \
|
|
||||||
--no-sound-null-safety
|
|
||||||
|
|
||||||
BUILD_RESULT=$?
|
|
||||||
kill $MONITOR_PID 2>/dev/null || true
|
|
||||||
|
|
||||||
if [ $BUILD_RESULT -eq 0 ]; then
|
|
||||||
echo "✅ Profile сборка успешна (используем profile вместо release для экономии памяти)"
|
|
||||||
echo "📊 Лог использования памяти:"
|
|
||||||
cat /tmp/memory.log || true
|
|
||||||
else
|
|
||||||
echo "❌ Все стратегии сборки провалились!"
|
|
||||||
echo "📊 Лог использования памяти:"
|
|
||||||
cat /tmp/memory.log || true
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
' || (echo "❌ Все стратегии сборки провалились!" && exit 1)
|
|
||||||
fi
|
fi
|
||||||
fi
|
' || (echo "❌ Сборка провалилась!" && exit 1)
|
||||||
|
|
||||||
echo "✅ Сборка завершена"
|
echo "✅ Сборка завершена"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue