--- name: iOS Validate build schemas on: pull_request: types: - closed branches: - main paths: - .github/workflows/ios.yml - .github/workflows/ios-validate-build-schemas.yml - ios/.swift-format - ios/**/*.swift - ios/**/*.xctestplan - Cargo.toml workflow_dispatch: permissions: {} jobs: test: if: github.event.pull_request.merged == true name: Validate build schemas runs-on: macos-15-xlarge env: SOURCE_PACKAGES_PATH: .spm steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup project uses: ./.github/actions/ios/setup-project-toolchain - name: Run build validation for Staging and MockRelease configurations as well as the MullvadVPNUITests target run: | set -o pipefail && env NSUnbufferedIO=YES xcodebuild \ -project MullvadVPN.xcodeproj \ -scheme MullvadVPN \ -configuration MockRelease \ -destination "platform=iOS Simulator,name=iPhone 16" \ -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \ -disableAutomaticPackageResolution \ build set -o pipefail && env NSUnbufferedIO=YES xcodebuild \ -project MullvadVPN.xcodeproj \ -scheme MullvadVPN \ -configuration Staging \ -destination "platform=iOS Simulator,name=iPhone 16" \ -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \ -disableAutomaticPackageResolution \ build set -o pipefail && env NSUnbufferedIO=YES xcodebuild \ -project MullvadVPN.xcodeproj \ -scheme MullvadVPNUITests \ -configuration Debug \ -destination "platform=iOS Simulator,name=iPhone 16" \ -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \ -disableAutomaticPackageResolution \ build working-directory: ios/