name: Build Apple (macOS + iOS) on: push: branches: [main] env: http_proxy: http://127.0.0.1:7897 https_proxy: http://127.0.0.1:7897 HTTP_PROXY: http://127.0.0.1:7897 HTTPS_PROXY: http://127.0.0.1:7897 NO_PROXY: 192.168.120.110,localhost,127.0.0.1 jobs: build-macos: runs-on: mac-runner steps: - name: Checkout run: | git clone --depth 1 --branch main http://192.168.120.110:4000/AI_Team/habo.git . - name: Verify Xcode run: xcodebuild -version - name: Install Flutter run: | if [ ! -d "$HOME/flutter" ]; then git clone --depth 1 -b 3.35.7 https://github.com/flutter/flutter.git "$HOME/flutter" fi echo "$HOME/flutter/bin" >> $GITHUB_PATH - name: Install deps run: | brew install cocoapods 2>/dev/null || true - name: Get dependencies run: flutter pub get - name: Build macOS run: flutter build macos --release - name: Create DMG run: | cd build/macos/Build/Products/Release hdiutil create -volname Habo -srcfolder habo.app -ov -format UDZO habo.dmg build-ios: runs-on: mac-runner steps: - name: Checkout run: | git clone --depth 1 --branch main http://192.168.120.110:4000/AI_Team/habo.git . - name: Verify Xcode run: xcodebuild -version - name: Install Flutter run: | if [ ! -d "$HOME/flutter" ]; then git clone --depth 1 -b 3.35.7 https://github.com/flutter/flutter.git "$HOME/flutter" fi echo "$HOME/flutter/bin" >> $GITHUB_PATH - name: Install deps run: | brew install cocoapods 2>/dev/null || true echo "$(brew --prefix cocoapods 2>/dev/null)/bin" >> $GITHUB_PATH 2>/dev/null || true which pod 2>/dev/null || gem install cocoapods --user-install 2>/dev/null || true echo "$(ruby -e 'puts Gem.user_dir' 2>/dev/null)/bin" >> $GITHUB_PATH 2>/dev/null || true - name: Get dependencies run: flutter pub get - name: Install CocoaPods run: cd ios && pod install - name: Build iOS run: flutter build ios --release --no-codesign --no-tree-shake-icons - name: Package .app run: | mkdir -p payload cp -r build/ios/iphoneos/Runner.app payload/ cd payload zip -r ../Habo-iOS-no-sign.zip Runner.app