Skip to content

chore(pr-kit): install the open-pr and land-pr kit #8

chore(pr-kit): install the open-pr and land-pr kit

chore(pr-kit): install the open-pr and land-pr kit #8

Workflow file for this run

name: Hush iOS
on:
pull_request:
paths: ['hush-ios/**', '.github/workflows/hush-ios.yml']
push:
branches: [main, feat/hush-ios]
paths: ['hush-ios/**', '.github/workflows/hush-ios.yml']
workflow_dispatch:
permissions:
contents: read
concurrency:
group: hush-ios-${{ github.ref }}
cancel-in-progress: true
jobs:
ios:
runs-on: macos-26
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-ios,aarch64-apple-ios-sim
- name: Install XcodeGen
run: brew install xcodegen
- name: Build SDK bridge
run: hush-ios/scripts/build-bridge.sh
- name: Test on iPhone and iPad
run: hush-ios/scripts/test.sh
- name: Verify Release excludes test fixtures
run: |
cd hush-ios
xcodebuild build -project Hush.xcodeproj -scheme Hush -configuration Release -destination 'generic/platform=iOS' -derivedDataPath .build/ReleaseCheck CODE_SIGNING_ALLOWED=NO
python3 - <<'PY'
from pathlib import Path
binary = Path('.build/ReleaseCheck/Build/Products/Release-iphoneos/Hush.app/Hush').read_bytes()
if b'HUSH_UI_TEST_SCENARIO' in binary:
raise SystemExit('Release binary contains the UI test harness')
PY
python3 scripts/check-sqlite.py .build/ReleaseCheck/Build/Products/Release-iphoneos/Hush.app/Hush
- name: Preserve test results
if: always()
uses: actions/upload-artifact@v4
with:
name: hush-ios-tests
path: hush-ios/.build/results/*.xcresult
if-no-files-found: ignore