Skip to content

Prevent iOS from stopping the tunnel if it remains in connecting state for too long #3737

Prevent iOS from stopping the tunnel if it remains in connecting state for too long

Prevent iOS from stopping the tunnel if it remains in connecting state for too long #3737

Workflow file for this run

---
name: iOS app
on:
pull_request:
paths:
- .github/workflows/ios.yml
- ios/.swiftformat
- ios/**/*.swift
- ios/**/*.xctestplan
workflow_dispatch:
jobs:
check-formatting:
name: Check formatting
runs-on: macos-13
steps:
- name: Install SwiftFormat
run: |
brew update
brew upgrade swiftformat
- name: Checkout repository
uses: actions/checkout@v3
- name: Check formatting
run: |
swiftformat --version
swiftformat --lint .
working-directory: ios
swiftlint:
name: Run swiftlint
runs-on: macos-13
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Run swiftlint
run: |
swiftlint --version
swiftlint --reporter github-actions-logging
working-directory: ios
test:
name: Unit tests
runs-on: macos-13
env:
SOURCE_PACKAGES_PATH: .spm
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Configure cache
uses: actions/cache@v3
with:
path: ios/${{ env.SOURCE_PACKAGES_PATH }}
key: ${{ runner.os }}-spm-${{ hashFiles('ios/**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-
- name: Setup go-lang
uses: actions/setup-go@v3
with:
go-version: 1.19.5
- name: Configure Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0'
- name: Configure Rust
run: rustup target add x86_64-apple-ios
- name: Configure Xcode project
run: |
cp Base.xcconfig.template Base.xcconfig
cp App.xcconfig.template App.xcconfig
cp PacketTunnel.xcconfig.template PacketTunnel.xcconfig
cp Screenshots.xcconfig.template Screenshots.xcconfig
working-directory: ios/Configurations
- name: Install xcbeautify
run: |
brew update
brew install xcbeautify
- name: Run tests
run: |
set -o pipefail && env NSUnbufferedIO=YES xcodebuild \
-project MullvadVPN.xcodeproj \
-scheme MullvadVPN \
-testPlan MullvadVPNCI \
-destination "platform=iOS Simulator,OS=17.0,name=iPhone 14" \
-clonedSourcePackagesDirPath "$SOURCE_PACKAGES_PATH" \
test 2>&1 | xcbeautify
working-directory: ios/