Skip to content

Fix Windows release preflight for versioned installations #1491

Fix Windows release preflight for versioned installations

Fix Windows release preflight for versioned installations #1491

Workflow file for this run

name: iOS App PR Build
permissions:
contents: read
on:
pull_request:
branches: [ master ]
concurrency:
group: ${{ github.workflow }}-pr-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
changes:
uses: ./.github/workflows/app-change-detection.yml
build-ios:
needs: changes
if: ${{ always() && !cancelled() && (needs.changes.result != 'success' || needs.changes.outputs.ios != 'false') }}
runs-on: blacksmith-6vcpu-macos-26
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # was v4
with:
persist-credentials: false
- name: Select pinned Xcode
id: select_xcode
run: python3 scripts/ci/select-xcode.py
- name: Install Nix
uses: DeterminateSystems/determinate-nix-action@96c5ee93a9dddf2830d31e1da6ec719077336c28 # v3.23.3
with:
source-tag: v3.23.3
github-token: ""
- name: Verify pinned Nix runtime
run: bash scripts/ci/verify-nix-runtime.sh
- name: Cache Xcode DerivedData and SourcePackages
uses: irgaly/xcode-cache@4141f139f00e335c6e1031fb93e667181f86146f # was v1
with:
key: xcode-cache-ios-xcode${{ steps.select_xcode.outputs.version }}-${{ steps.select_xcode.outputs.build }}-${{ github.workflow }}-${{ hashFiles('apps/maple-research/frontend/src-tauri/Cargo.lock') }}
restore-keys: |
xcode-cache-ios-xcode${{ steps.select_xcode.outputs.version }}-${{ steps.select_xcode.outputs.build }}-${{ github.workflow }}-
xcode-cache-ios-xcode${{ steps.select_xcode.outputs.version }}-${{ steps.select_xcode.outputs.build }}-
- name: Restore master ONNX Runtime iOS artifact
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # was v4
with:
path: |
apps/maple-research/frontend/src-tauri/onnxruntime-ios
key: release-onnxruntime-ios-artifact-1.23.2-xcode${{ steps.select_xcode.outputs.version }}-${{ steps.select_xcode.outputs.build }}-${{ hashFiles('flake.lock', 'flake.nix', 'scripts/ci/apple-toolchain.json', 'scripts/ci/select-xcode.py', 'scripts/ci/_common.sh', 'scripts/ci/ios-onnxruntime.sh', 'apps/maple-research/frontend/src-tauri/scripts/build-ios-onnxruntime-all.sh', 'apps/maple-research/frontend/src-tauri/scripts/canonicalize-static-archive.py', 'apps/maple-research/frontend/src-tauri/scripts/onnxruntime-pins.sh') }}
restore-keys: |
release-onnxruntime-ios-artifact-1.23.2-xcode${{ steps.select_xcode.outputs.version }}-${{ steps.select_xcode.outputs.build }}-
- name: Prepare ONNX Runtime iOS artifact
run: nix develop --no-update-lock-file .#apple -c ./scripts/ci/ios-onnxruntime.sh
timeout-minutes: 90
- name: Build Tauri iOS App (simulator)
run: nix develop --no-update-lock-file .#apple -c ./scripts/ci/ios-pr.sh
env:
MAPLE_IOS_DOWNLOAD_SIMULATOR_RUNTIME: "1"
timeout-minutes: 90
- name: Upload iOS PR Simulator App
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # was v4
with:
name: maple-ios-simulator-pr
path: |
apps/maple-research/frontend/src-tauri/gen/apple/build/**/*.app
apps/maple-research/frontend/src-tauri/target/reproducibility/ios-*.sha256
retention-days: 5