Files
upstream-tldraw/apps/examples/e2e-device/wdio.ios.conf.ts
upstream-mirror a774ac673a
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
2026-09-23 16:12:52 +05:00

49 lines
2.1 KiB
TypeScript

import type { Options } from '@wdio/types'
import { shared } from './wdio.shared.conf'
const deviceName = process.env.APPIUM_DEVICE_NAME ?? 'iPhone 16'
const udid = process.env.APPIUM_UDID
const derivedDataPath = process.env.APPIUM_DERIVED_DATA_PATH
const usePrebuiltWDA = process.env.APPIUM_USE_PREBUILT_WDA === 'true'
/**
* Drives real Mobile Safari in the iOS Simulator via Appium's XCUITest driver.
* Touch gestures are performed in the NATIVE context (see helpers/pinch.ts),
* which is the only place multi-touch W3C actions work on iOS — they go through
* the real Simulator touch system and therefore through Safari's own gesture
* recognizer.
*/
export const config: Options.Testrunner = {
...shared,
capabilities: [
{
platformName: 'iOS',
'appium:automationName': 'XCUITest',
'appium:deviceName': deviceName,
// Attach to the simulator CI already booted (see the Boot step), so
// XCUITest doesn't create/boot one itself.
...(udid ? { 'appium:udid': udid } : {}),
// Pin platformVersion in CI to the runtime shipped by the macos-26 image
// if you need determinism; left unset here to use the booted default.
browserName: 'Safari',
'appium:safariInitialUrl': `${shared.baseUrl}/end-to-end`,
'appium:newCommandTimeout': 120,
// Let Appium own the simulator lifecycle (create/boot the one it uses).
// Don't pre-boot in CI — a second simulator just causes boot contention.
'appium:noReset': true,
// First run builds WebDriverAgent from source, which is slow on a cold
// CI simulator. Give the build/launch generous headroom (no signing is
// needed on the simulator, so this is just time, not config).
'appium:wdaLaunchTimeout': 300_000,
'appium:wdaConnectionTimeout': 300_000,
'appium:wdaStartupRetries': 2,
'appium:wdaStartupRetryInterval': 20_000,
'appium:showXcodeLog': false,
// Build WDA into a stable, cacheable DerivedData dir; on a CI cache hit
// reuse the prebuilt WDA and skip the xcodebuild step entirely.
...(derivedDataPath ? { 'appium:derivedDataPath': derivedDataPath } : {}),
...(usePrebuiltWDA ? { 'appium:usePrebuiltWDA': true } : {}),
},
],
}