diff --git a/.github/workflows/apple-build.yml b/.github/workflows/apple-build.yml new file mode 100644 index 0000000..3541014 --- /dev/null +++ b/.github/workflows/apple-build.yml @@ -0,0 +1,66 @@ +name: Build Apple (macOS + iOS) + +on: + push: + branches: [main] + +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: 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 jq || 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 + - name: Upload artifact + run: | + # Simple artifact upload via Gitea API + cd build/macos/Build/Products/Release + curl -s -X POST \ + -H "Authorization: token ${{ github.token }}" \ + -F "file=@habo.dmg" \ + "http://192.168.120.110:4000/api/v1/repos/AI_Team/habo/actions/artifacts" || true + + 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: 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 jq || 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