#!/bin/bash set -e echo "=========================================" echo " Momentry Studio CI/CD Pipeline" echo "=========================================" # 1. 檢查依賴 echo "" echo "📋 Step 1: 檢查依賴..." node -v || { echo "❌ Node.js 未安裝"; exit 1; } npm -v || { echo "❌ npm 未安裝"; exit 1; } rustc --version || { echo "❌ Rust 未安裝"; exit 1; } cargo --version || { echo "❌ Cargo 未安裝"; exit 1; } echo "✅ 依賴檢查通過" # 2. 安裝前端依賴 echo "" echo "📦 Step 2: 安裝前端依賴..." npm install --silent echo "✅ 前端依賴安裝完成" # 3. 編譯前端 echo "" echo "🔨 Step 3: 編譯前端..." npm run build echo "✅ 前端編譯完成" # 4. 編譯 Rust 後端 echo "" echo "🦀 Step 4: 編譯 Rust 後端..." cargo build --manifest-path src-tauri/Cargo.toml --release echo "✅ Rust 後端編譯完成" # 5. 執行 Tauri 打包 echo "" echo "📱 Step 5: 打包桌面應用程式..." cargo tauri build echo "✅ 桌面應用程式打包完成" # 6. 檢查輸出 echo "" echo "📂 Step 6: 檢查輸出..." ls -lh src-tauri/target/release/bundle/dmg/*.dmg 2>/dev/null || echo "找不到 DMG" echo "" echo "=========================================" echo " ✅ CI/CD Pipeline 完成" echo "========================================="