name: Build for iOS on: workflow_call: inputs: tag: description: "tag" required: false default: "" type: string workflow_dispatch: jobs: build-macos-app: name: Release IOS runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup flutter uses: subosito/flutter-action@v2 with: channel: stable flutter-version-file: pubspec.yaml - name: Set and Extract version shell: pwsh run: lib/scripts/build.ps1 - name: apply modal barrier patch working-directory: ${{ env.FLUTTER_ROOT }} run: git apply $GITHUB_WORKSPACE/lib/scripts/modal_barrier_patch.diff || true continue-on-error: true - name: apply mouse cursor patch working-directory: ${{ env.FLUTTER_ROOT }} run: git apply $GITHUB_WORKSPACE/lib/scripts/mouse_cursor_patch.diff || true continue-on-error: true - name: Build iOS run: | flutter build ios --release --no-codesign --dart-define-from-file=pili_release.json ln -sf ./build/ios/iphoneos Payload # make AltSign happy... find Payload/Runner.app/Frameworks -type d -name "*.framework" -exec codesign --force --sign - --preserve-metadata=identifier,entitlements {} \; zip -r9 PiliPlus_ios_${{env.version}}.ipa Payload/runner.app - name: Release if: ${{ github.event.inputs.tag != '' }} uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.event.inputs.tag }} name: ${{ github.event.inputs.tag }} files: | PiliPlus_ios_*.ipa - name: Upload ios release uses: actions/upload-artifact@v6 with: name: iOS-release path: PiliPlus_ios_*.ipa