@devicelab/maestro-runner-darwin-arm64 1.1.28 → 1.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +30 -3
  2. package/bin/maestro-runner +0 -0
  3. package/drivers/android/devicelab-android-driver-test.apk +0 -0
  4. package/drivers/android/devicelab-android-driver.apk +0 -0
  5. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/ATTRIBUTION.md +16 -0
  6. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Lifecycle.swift +33 -0
  7. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Snapshot.swift +195 -88
  8. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests.swift +3 -0
  9. package/drivers/ios/WebDriverAgent/CHANGELOG.md +202 -0
  10. package/drivers/ios/WebDriverAgent/README.md +18 -9
  11. package/drivers/ios/WebDriverAgent/Scripts/ci/build-real.sh +6 -10
  12. package/drivers/ios/WebDriverAgent/Scripts/fetch-prebuilt-wda.mjs +3 -2
  13. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/project.pbxproj +119 -0
  14. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCAXClient_iOS+FBSnapshotReqParams.m +8 -0
  15. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.h +3 -0
  16. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.m +30 -1
  17. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.h +53 -0
  18. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.m +124 -0
  19. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.h +6 -0
  20. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.m +100 -23
  21. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHinge.h +41 -0
  22. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHinge.m +215 -0
  23. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.m +8 -3
  24. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBFind.m +20 -7
  25. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBScrolling.m +110 -50
  26. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTyping.h +7 -0
  27. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTyping.m +20 -0
  28. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBUtilities.m +14 -11
  29. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBCustomCommands.m +86 -10
  30. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBElementCommands.m +57 -7
  31. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBSessionCommands.m +3 -2
  32. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Info.plist +2 -2
  33. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBHTTPServer.m +39 -16
  34. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingRequest.m +7 -2
  35. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBSession.h +22 -0
  36. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBSession.m +78 -12
  37. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBTCPSocket.h +5 -1
  38. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBTCPSocket.m +10 -1
  39. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m +4 -1
  40. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBActiveAppDetectionPoint.h +2 -2
  41. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBActiveAppDetectionPoint.m +20 -0
  42. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBConfiguration.h +8 -0
  43. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBConfiguration.m +2 -0
  44. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBHIDOperations.h +41 -0
  45. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBHIDOperations.m +244 -0
  46. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBImageProcessor.m +3 -1
  47. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMathUtils.h +11 -0
  48. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMathUtils.m +38 -0
  49. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMjpegServer.m +5 -3
  50. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreen.h +17 -0
  51. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreen.m +76 -1
  52. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreenshot.h +2 -2
  53. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreenshot.m +6 -2
  54. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettings.h +2 -0
  55. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettings.m +2 -0
  56. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettingsHandler.m +48 -0
  57. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.m +121 -13
  58. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPath.m +181 -128
  59. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/LRUCache/LRUCache.m +8 -5
  60. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/LRUCache/LRUCacheNode.h +1 -1
  61. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/WebDriverAgentLib.h +1 -0
  62. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/COORDINATE_PROBE.md +3 -1
  63. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBCoordinateProbeViewController.m +18 -0
  64. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/SceneDelegate.m +33 -0
  65. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/ViewController.m +26 -7
  66. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBConfigurationTests.m +52 -0
  67. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBDisplayGestureTests.m +541 -0
  68. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementSwipingTests.m +95 -0
  69. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBImageProcessorTests.m +34 -0
  70. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBScreenTests.m +392 -0
  71. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBSessionIntegrationTests.m +97 -0
  72. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBTypingTest.m +33 -0
  73. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CTouchActionsIntegrationTests.m +126 -0
  74. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIApplicationHelperTests.m +111 -0
  75. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIDeviceHelperTests.m +97 -0
  76. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIDeviceRotationTests.m +53 -0
  77. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIElementFBFindTests.m +113 -0
  78. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_tvOS/FBTVFocusIntegrationTests.m +21 -0
  79. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAAppLifecycleIntegrationTests.swift +12 -0
  80. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBCustomCommandsTests.m +61 -0
  81. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBElementUtilitiesTests.m +40 -0
  82. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBHTTPServerSessionTests.m +22 -4
  83. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBHTTPServerTests.m +199 -5
  84. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBLRUCacheTests.m +34 -0
  85. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBMathUtilsTests.m +45 -0
  86. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBSessionTests.m +201 -0
  87. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBXPathTests.m +101 -0
  88. package/drivers/ios/WebDriverAgent/docs/hinge-angle.md +54 -0
  89. package/drivers/ios/WebDriverAgent/docs/multiple-displays.md +168 -0
  90. package/drivers/ios/WebDriverAgent/lib/webdriveragent.ts +1 -2
  91. package/drivers/ios/WebDriverAgent/lib/xcodebuild.ts +58 -10
  92. package/drivers/ios/WebDriverAgent/package.json +8 -15
  93. package/drivers/ios/WebDriverAgent/test/functional/helpers/display-settings.ts +49 -0
  94. package/drivers/ios/WebDriverAgent/test/functional/helpers/simulator.ts +7 -7
  95. package/drivers/ios/WebDriverAgent/test/functional/webdriveragent-e2e.spec.ts +4 -0
  96. package/drivers/ios/WebDriverAgent/test/unit/xcodebuild.spec.ts +230 -0
  97. package/drivers/ios/WebDriverAgent/tsconfig.json +2 -1
  98. package/drivers/ios/devicelab-ios-agent/README.md +12 -0
  99. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/DevicelabIOSAgent +0 -0
  100. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/DevicelabIOSAgentUITests +0 -0
  101. package/drivers/ios/devicelab-ios-agent/device/manifest.json +3 -3
  102. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/DevicelabIOSAgent +0 -0
  103. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/DevicelabIOSAgentUITests +0 -0
  104. package/drivers/ios/devicelab-ios-agent/simulator/manifest.json +3 -3
  105. package/package.json +1 -1
  106. package/drivers/ios/WebDriverAgent/.editorconfig +0 -11
  107. package/drivers/ios/WebDriverAgent/.github/ISSUE_TEMPLATE.md +0 -4
  108. package/drivers/ios/WebDriverAgent/.github/actions/xcode-setup/action.yml +0 -32
  109. package/drivers/ios/WebDriverAgent/.github/dependabot.yml +0 -22
  110. package/drivers/ios/WebDriverAgent/.github/workflows/functional-test.yml +0 -103
  111. package/drivers/ios/WebDriverAgent/.github/workflows/pr-title.yml +0 -10
  112. package/drivers/ios/WebDriverAgent/.github/workflows/publish.js.yml +0 -112
  113. package/drivers/ios/WebDriverAgent/.github/workflows/unit-test.yml +0 -32
  114. package/drivers/ios/WebDriverAgent/.github/workflows/wda-package.yml +0 -114
  115. package/drivers/ios/WebDriverAgent/.github/workflows/wda-tests.yml +0 -246
  116. package/drivers/ios/WebDriverAgent/oxfmt.config.mjs +0 -6
  117. package/drivers/ios/WebDriverAgent/oxlint.config.mjs +0 -6
  118. package/drivers/ios/WebDriverAgent/release.config.mjs +0 -14
@@ -1,11 +0,0 @@
1
- # editorconfig.org
2
- root = true
3
-
4
- [*.{js,cjs,mjs,jsx,ts,cts,mts,tsx,json,jsonc}]
5
- indent_style = space
6
- indent_size = 2
7
- end_of_line = lf
8
- charset = utf-8
9
- trim_trailing_whitespace = true
10
- insert_final_newline = true
11
- max_line_length = 120
@@ -1,4 +0,0 @@
1
- **Warning:**
2
-
3
- These issues are not tracked. Please create new issues in the main Appium
4
- repository: https://github.com/appium/appium/issues/new
@@ -1,32 +0,0 @@
1
- name: 'Setup Xcode Test Environment'
2
- description: 'Common setup steps for Xcode tests'
3
-
4
- inputs:
5
- xcode_version:
6
- description: 'Xcode version to use'
7
- required: true
8
- ruby_version:
9
- description: 'Ruby version to use'
10
- required: false
11
- default: '3.3'
12
-
13
- runs:
14
- using: 'composite'
15
- steps:
16
- - uses: actions/setup-node@v6
17
- with:
18
- node-version: lts/*
19
- - uses: maxim-lobanov/setup-xcode@v1
20
- with:
21
- xcode-version: ${{ inputs.xcode_version }}
22
- - name: Setup Ruby
23
- uses: ruby/setup-ruby@v1
24
- with:
25
- ruby-version: ${{ inputs.ruby_version }}
26
- bundler-cache: true
27
- - name: Install dependencies
28
- run: |
29
- bundle install
30
- mkdir -p ./Resources/WebDriverAgent.bundle
31
- shell: bash
32
-
@@ -1,22 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: npm
4
- directory: "/"
5
- schedule:
6
- interval: daily
7
- time: "11:00"
8
- open-pull-requests-limit: 10
9
- commit-message:
10
- prefix: "chore"
11
- include: "scope"
12
-
13
- - package-ecosystem: github-actions
14
- directory: "/"
15
- schedule:
16
- interval: weekly
17
- time: "11:00"
18
- day: "tuesday"
19
- open-pull-requests-limit: 5
20
- commit-message:
21
- prefix: "ci"
22
- include: "scope"
@@ -1,103 +0,0 @@
1
- name: Functional Tests
2
-
3
- on: [pull_request]
4
-
5
- concurrency:
6
- group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
- cancel-in-progress: true
8
-
9
- jobs:
10
- test:
11
- strategy:
12
- fail-fast: false
13
- matrix:
14
- test_targets:
15
- # iOS
16
- - HOST_OS: 'xcode-27'
17
- XCODE_VERSION: '27.0-beta'
18
- PLATFORM_NAME: 'iOS'
19
- PLATFORM_VERSION: '27.0'
20
- DEVICE_NAME: 'iPhone 17'
21
- - HOST_OS: 'macos-15'
22
- XCODE_VERSION: '16.4'
23
- PLATFORM_NAME: 'iOS'
24
- PLATFORM_VERSION: '18.5'
25
- DEVICE_NAME: 'iPhone 16 Plus'
26
-
27
- # tvOS
28
- - HOST_OS: 'xcode-27'
29
- XCODE_VERSION: '27.0-beta'
30
- PLATFORM_NAME: 'tvOS'
31
- PLATFORM_VERSION: '27.0'
32
- DEVICE_NAME: 'Apple TV 4K (3rd generation)'
33
- - HOST_OS: 'macos-15'
34
- XCODE_VERSION: '16.4'
35
- PLATFORM_NAME: 'tvOS'
36
- PLATFORM_VERSION: '18.5'
37
- DEVICE_NAME: 'Apple TV 4K (3rd generation)'
38
-
39
- # WatchOS
40
- - HOST_OS: 'xcode-27'
41
- XCODE_VERSION: '27.0-beta'
42
- PLATFORM_NAME: 'watchOS'
43
- PLATFORM_VERSION: '27.0'
44
- DEVICE_NAME: 'Apple Watch Series 11 (46mm)'
45
- - HOST_OS: 'macos-15'
46
- XCODE_VERSION: '16.4'
47
- PLATFORM_NAME: 'watchOS'
48
- PLATFORM_VERSION: '11.5'
49
- DEVICE_NAME: 'Apple Watch Series 10 (46mm)'
50
-
51
- # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md
52
- runs-on: ${{matrix.test_targets.HOST_OS}}
53
- steps:
54
- - uses: actions/checkout@v7
55
- - uses: actions/setup-node@v7
56
- with:
57
- node-version: lts/*
58
- check-latest: true
59
- - uses: maxim-lobanov/setup-xcode@v1
60
- with:
61
- xcode-version: ${{matrix.test_targets.XCODE_VERSION}}
62
- - run: |
63
- npm install
64
- mkdir -p ./Resources/WebDriverAgent.bundle
65
- name: Install dev dependencies
66
-
67
- - run: xcrun simctl list devices available
68
- name: List Installed Simulators
69
- - run: xcrun simctl list runtimes
70
- name: List Runtimes
71
- - name: Start Simulator UI
72
- # Xcode 27 replaced Simulator.app with DeviceHub.app, one directory level up from
73
- # Simulator.app's location (Contents/Applications instead of Contents/Developer/Applications).
74
- run: |
75
- if [ "${PLATFORM_VERSION%%.*}" -ge 27 ]; then
76
- open -Fn "$(xcode-select --print-path)/../Applications/DeviceHub.app"
77
- else
78
- open -Fn "$(xcode-select --print-path)/Applications/Simulator.app"
79
- fi
80
- env:
81
- PLATFORM_VERSION: ${{matrix.test_targets.PLATFORM_VERSION}}
82
- - name: Prepare simulator
83
- id: prepareSimulator
84
- uses: futureware-tech/simulator-action@v5
85
- with:
86
- model: '${{matrix.test_targets.DEVICE_NAME}}'
87
- os: '${{matrix.test_targets.PLATFORM_NAME}}'
88
- os_version: '${{matrix.test_targets.PLATFORM_VERSION}}'
89
- shutdown_after_job: false
90
- wait_for_boot: true
91
- - name: Finalize simulator boot
92
- run: node Scripts/ci/wait-for-simulator-idle.mjs "${{steps.prepareSimulator.outputs.udid}}"
93
-
94
- - run: npm run e2e-test
95
- name: Run functional tests
96
- env:
97
- CI: true
98
- _FORCE_LOGS: 1
99
- _LOG_TIMESTAMP: 1
100
- DEVICE_NAME: ${{matrix.test_targets.DEVICE_NAME}}
101
- PLATFORM_NAME: ${{matrix.test_targets.PLATFORM_NAME}}
102
- PLATFORM_VERSION: ${{matrix.test_targets.PLATFORM_VERSION}}
103
- SIMULATOR_UDID: ${{steps.prepareSimulator.outputs.udid}}
@@ -1,10 +0,0 @@
1
- name: Conventional Commits
2
- on:
3
- pull_request:
4
- types: [opened, edited, synchronize, reopened]
5
-
6
- jobs:
7
- lint:
8
- uses: appium/appium-workflows/.github/workflows/pr-title.yml@main
9
- with:
10
- config-preset: angular
@@ -1,112 +0,0 @@
1
- # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2
- # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
-
4
- name: Release
5
-
6
- on:
7
- workflow_dispatch:
8
- push:
9
- branches: [ master ]
10
-
11
- permissions:
12
- contents: write
13
- pull-requests: write
14
- issues: write
15
- id-token: write # to enable use of OIDC for trusted publishing and npm provenance
16
-
17
- env:
18
- # DO NOT USE 26.4+ for a while since it could drop lower iOS versions forcefully
19
- # while the project config allows such lower versions.
20
- # (at least WDA failed to start on iOS 15)
21
- # Xcode 26.3 looks like it's working as expected.
22
- XCODE_VERSION: '16.4'
23
- # Available destination for simulators depends on Xcode version.
24
- DESTINATION_SIM: platform=iOS Simulator,name=iPhone 17
25
- DESTINATION_SIM_TVOS: platform=tvOS Simulator,name=Apple TV 4K (3rd generation)
26
- DESTINATION_SIM_WATCHOS: platform=watchOS Simulator,name=Apple Watch Series 11 (46mm)
27
-
28
- jobs:
29
- build_matrix:
30
- runs-on: ubuntu-latest
31
- outputs:
32
- matrix: ${{ steps.set-matrix.outputs.matrix }}
33
- steps:
34
- - id: set-matrix
35
- run: |
36
- cat <<MATRIX_JSON | jq -c . > matrix.json
37
- [
38
- {"name": "iOS Real Device", "build_script": "build-real.sh", "scheme": "WebDriverAgentRunner", "destination": "generic/platform=iOS", "derived_data_path": "appium_wda_ios", "wd": "appium_wda_ios/Build/Products/Debug-iphoneos", "zip_name": "WebDriverAgentRunner-Runner.zip", "artifact_name": "WebDriverAgentRunner-Runner"},
39
- {"name": "tvOS Real Device", "build_script": "build-real.sh", "scheme": "WebDriverAgentRunner_tvOS", "destination": "generic/platform=tvOS", "derived_data_path": "appium_wda_tvos", "wd": "appium_wda_tvos/Build/Products/Debug-appletvos", "zip_name": "WebDriverAgentRunner_tvOS-Runner.zip", "artifact_name": "WebDriverAgentRunner_tvOS-Runner"},
40
- {"name": "iOS Simulator arm64", "build_script": "build-sim.sh", "scheme": "WebDriverAgentRunner", "destination": "${{ env.DESTINATION_SIM }}", "derived_data_path": "appium_wda_ios_sim_arm64", "simulator_name": "Debug-iphonesimulator", "wd": "appium_wda_ios_sim_arm64/Build/Products/Debug-iphonesimulator", "zip_name": "WebDriverAgentRunner-Build-Sim-arm64.zip", "artifact_name": "WebDriverAgentRunner-Build-Sim-arm64", "archs": "arm64"},
41
- {"name": "iOS Simulator x86_64", "build_script": "build-sim.sh", "scheme": "WebDriverAgentRunner", "destination": "${{ env.DESTINATION_SIM }}", "derived_data_path": "appium_wda_ios_sim_x86_64", "simulator_name": "Debug-iphonesimulator", "wd": "appium_wda_ios_sim_x86_64/Build/Products/Debug-iphonesimulator", "zip_name": "WebDriverAgentRunner-Build-Sim-x86_64.zip", "artifact_name": "WebDriverAgentRunner-Build-Sim-x86_64", "archs": "x86_64"},
42
- {"name": "tvOS Simulator arm64", "build_script": "build-sim.sh", "scheme": "WebDriverAgentRunner_tvOS", "destination": "${{ env.DESTINATION_SIM_TVOS }}", "derived_data_path": "appium_wda_tvos_sim_arm64", "simulator_name": "Debug-appletvsimulator", "wd": "appium_wda_tvos_sim_arm64/Build/Products/Debug-appletvsimulator", "zip_name": "WebDriverAgentRunner_tvOS-Build-Sim-arm64.zip", "artifact_name": "WebDriverAgentRunner_tvOS-Build-Sim-arm64", "archs": "arm64"},
43
- {"name": "tvOS Simulator x86_64", "build_script": "build-sim.sh", "scheme": "WebDriverAgentRunner_tvOS", "destination": "${{ env.DESTINATION_SIM_TVOS }}", "derived_data_path": "appium_wda_tvos_sim_x86_64", "simulator_name": "Debug-appletvsimulator", "wd": "appium_wda_tvos_sim_x86_64/Build/Products/Debug-appletvsimulator", "zip_name": "WebDriverAgentRunner_tvOS-Build-Sim-x86_64.zip", "artifact_name": "WebDriverAgentRunner_tvOS-Build-Sim-x86_64", "archs": "x86_64"},
44
- {"name": "watchOS Simulator arm64", "build_script": "build-sim.sh", "scheme": "WebDriverAgentRunner_watchOS", "destination": "${{ env.DESTINATION_SIM_WATCHOS }}", "derived_data_path": "appium_wda_watchos_sim_arm64", "simulator_name": "Debug-watchsimulator", "wd": "appium_wda_watchos_sim_arm64/Build/Products/Debug-watchsimulator", "zip_name": "WebDriverAgentRunner_watchOS-Build-Sim-arm64.zip", "artifact_name": "WebDriverAgentRunner_watchOS-Build-Sim-arm64", "archs": "arm64"},
45
- {"name": "watchOS Simulator x86_64", "build_script": "build-sim.sh", "scheme": "WebDriverAgentRunner_watchOS", "destination": "${{ env.DESTINATION_SIM_WATCHOS }}", "derived_data_path": "appium_wda_watchos_sim_x86_64", "simulator_name": "Debug-watchsimulator", "wd": "appium_wda_watchos_sim_x86_64/Build/Products/Debug-watchsimulator", "zip_name": "WebDriverAgentRunner_watchOS-Build-Sim-x86_64.zip", "artifact_name": "WebDriverAgentRunner_watchOS-Build-Sim-x86_64", "archs": "x86_64"}
46
- ]
47
- MATRIX_JSON
48
- echo "matrix=$(cat matrix.json)" >> $GITHUB_OUTPUT
49
-
50
- build-wda:
51
- needs: build_matrix
52
- name: ${{ matrix.config.name }}
53
- runs-on: macos-15
54
- strategy:
55
- fail-fast: false
56
- matrix:
57
- config: ${{ fromJSON(needs.build_matrix.outputs.matrix) }}
58
- steps:
59
- - uses: actions/checkout@v7
60
- - uses: maxim-lobanov/setup-xcode@v1
61
- with:
62
- xcode-version: "${{ env.XCODE_VERSION }}"
63
- - name: ${{ matrix.config.name }}
64
- uses: nick-fields/retry@v4
65
- with:
66
- timeout_minutes: 10
67
- max_attempts: 3
68
- command: |
69
- export DERIVED_DATA_PATH="${{ matrix.config.derived_data_path }}"
70
- export SCHEME="${{ matrix.config.scheme }}"
71
- export DESTINATION="${{ matrix.config.destination }}"
72
- export WD="${{ matrix.config.wd }}"
73
- export ZIP_PKG_NAME="${{ matrix.config.zip_name }}"
74
- export ARCHS="${{ matrix.config.archs || '' }}"
75
- sh $GITHUB_WORKSPACE/Scripts/ci/${{ matrix.config.build_script }}
76
- - name: Upload artifact
77
- uses: actions/upload-artifact@v7
78
- with:
79
- name: ${{ matrix.config.artifact_name }}
80
- path: ${{ matrix.config.zip_name }}
81
-
82
- release:
83
- needs: build-wda
84
- runs-on: macos-15
85
- steps:
86
- - uses: actions/checkout@v7
87
- - name: Use Node.js
88
- uses: actions/setup-node@v7
89
- with:
90
- node-version: lts/*
91
- - uses: maxim-lobanov/setup-xcode@v1
92
- with:
93
- xcode-version: "${{ env.XCODE_VERSION }}"
94
- - run: npm install --no-package-lock
95
- name: Install dev dependencies
96
- - run: npm run build
97
- name: Run build
98
- - run: npm run test
99
- name: Run test
100
- - name: Download all artifacts
101
- uses: actions/download-artifact@v8
102
- with:
103
- path: ${{ runner.temp }}/artifacts-temp
104
- - name: Move artifacts to root for release
105
- run: |
106
- find "${{ runner.temp }}/artifacts-temp" -name "*.zip" -type f -exec mv {} . \;
107
- rm -rf "${{ runner.temp }}/artifacts-temp"
108
- - run: npx semantic-release
109
- env:
110
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
111
- name: Release
112
-
@@ -1,32 +0,0 @@
1
- name: Unit Tests
2
-
3
- on: [pull_request, push]
4
-
5
-
6
- jobs:
7
- node_matrix:
8
- uses: appium/appium-workflows/.github/workflows/node-lts-matrix.yml@main
9
-
10
- node_test:
11
- needs:
12
- - node_matrix
13
- strategy:
14
- matrix:
15
- node-version: ${{ fromJSON(needs.node_matrix.outputs.versions) }}
16
- runs-on: ubuntu-latest
17
- steps:
18
- - uses: actions/checkout@v7
19
- - uses: actions/setup-node@v7
20
- with:
21
- node-version: ${{ matrix.node-version }}
22
- - uses: SocketDev/action@v1
23
- with:
24
- mode: firewall-free
25
- - run: sfw npm install --no-package-lock
26
- name: Install dev dependencies
27
- - run: npm run lint
28
- name: Run linter
29
- - run: npm run format:check
30
- name: Run format check
31
- - run: npm run test
32
- name: Run unit tests
@@ -1,114 +0,0 @@
1
- name: Building WebDriverAgent
2
-
3
- on:
4
- workflow_dispatch:
5
-
6
- env:
7
- HOST: macos-15
8
- XCODE_VERSION: 16.4
9
- DESTINATION_SIM: platform=iOS Simulator,name=iPhone 17
10
- DESTINATION_SIM_tvOS: platform=tvOS Simulator,name=Apple TV 4K (3rd generation)
11
- DESTINATION_SIM_watchOS: platform=watchOS Simulator,name=Apple Watch Series 11 (46mm)
12
-
13
- jobs:
14
- host_machine:
15
- runs-on: ubuntu-latest
16
- outputs:
17
- host: ${{ steps.macos_host.outputs.host }}
18
- steps:
19
- - run: |
20
- echo "host=${{ env.HOST }}" >> $GITHUB_OUTPUT
21
- id: macos_host
22
-
23
- for_real_devices:
24
- needs: [host_machine]
25
- name: Build WDA for real iOS and tvOS devices
26
- runs-on: ${{ needs.host_machine.outputs.host }}
27
-
28
- env:
29
- PKG_NAME_IOS: "WebDriverAgentRunner-Runner"
30
- ZIP_PKG_NAME_IOS: "WebDriverAgentRunner-Runner.zip"
31
- PKG_NAME_TVOS: "WebDriverAgentRunner_tvOS-Runner"
32
- ZIP_PKG_NAME_TVOS: "WebDriverAgentRunner_tvOS-Runner.zip"
33
-
34
- steps:
35
- - name: Checkout
36
- uses: actions/checkout@v7
37
- - uses: maxim-lobanov/setup-xcode@v1
38
- with:
39
- xcode-version: "${{ env.XCODE_VERSION }}"
40
- - name: Create a zip file of WebDriverAgentRunner-Runner.app for iOS
41
- run: sh $GITHUB_WORKSPACE/Scripts/ci/build-real.sh
42
- env:
43
- DERIVED_DATA_PATH: appium_wda_ios
44
- SCHEME: WebDriverAgentRunner
45
- DESTINATION: generic/platform=iOS
46
- WD: appium_wda_ios/Build/Products/Debug-iphoneos
47
- ZIP_PKG_NAME: "${{ env.ZIP_PKG_NAME_IOS }}"
48
-
49
- - name: Create a zip file of WebDriverAgentRunner-Runner.app for tvOS
50
- run: sh $GITHUB_WORKSPACE/Scripts/ci/build-real.sh
51
- env:
52
- DERIVED_DATA_PATH: appium_wda_tvos
53
- SCHEME: WebDriverAgentRunner_tvOS
54
- DESTINATION: generic/platform=tvOS
55
- WD: appium_wda_tvos/Build/Products/Debug-appletvos
56
- ZIP_PKG_NAME: "${{ env.ZIP_PKG_NAME_TVOS }}"
57
-
58
- - name: Upload the built generic app package for iOS
59
- uses: actions/upload-artifact@master
60
- with:
61
- name: "${{ env.PKG_NAME_IOS }}"
62
- path: "${{ env.ZIP_PKG_NAME_IOS }}"
63
- - name: Upload the built generic app package for tvOS
64
- uses: actions/upload-artifact@master
65
- with:
66
- name: "${{ env.PKG_NAME_TVOS }}"
67
- path: "${{ env.ZIP_PKG_NAME_TVOS }}"
68
-
69
- for_simulator_devices:
70
- needs: [host_machine]
71
- name: Build WDA for ${{ matrix.target }} simulators
72
- runs-on: ${{ needs.host_machine.outputs.host }}
73
-
74
- strategy:
75
- matrix:
76
- include:
77
- - target: ''
78
- arch: x86_64
79
- simulator_name: Debug-iphonesimulator
80
- - target: ''
81
- arch: arm64
82
- simulator_name: Debug-iphonesimulator
83
- - target: '_tvOS'
84
- arch: x86_64
85
- simulator_name: Debug-appletvsimulator
86
- - target: '_tvOS'
87
- arch: arm64
88
- simulator_name: Debug-appletvsimulator
89
- - target: '_watchOS'
90
- arch: x86_64
91
- simulator_name: Debug-watchsimulator
92
- - target: '_watchOS'
93
- arch: arm64
94
- simulator_name: Debug-watchsimulator
95
- steps:
96
- - name: Checkout
97
- uses: actions/checkout@v7
98
- - uses: maxim-lobanov/setup-xcode@v1
99
- with:
100
- xcode-version: "${{ env.XCODE_VERSION }}"
101
- - name: Create a zip of WebDriverAgentRunner${{ matrix.target }} for simulator for ${{ matrix.arch }}
102
- run: |
103
- DESTINATION=$DESTINATION_SIM${{ matrix.target }} sh $GITHUB_WORKSPACE/Scripts/ci/build-sim.sh
104
- env:
105
- SCHEME: WebDriverAgentRunner${{ matrix.target }}
106
- ARCHS: ${{ matrix.arch }}
107
- ZIP_PKG_NAME: "WebDriverAgentRunner${{ matrix.target }}-Build-Sim-${{ matrix.arch }}.zip"
108
- DERIVED_DATA_PATH: wda_build
109
- WD: wda_build/Build/Products/${{ matrix.simulator_name }}
110
- - name: Upload the built generic app package for WebDriverAgentRunner${{ matrix.target }} with ${{ matrix.arch }}
111
- uses: actions/upload-artifact@master
112
- with:
113
- name: "WebDriverAgentRunner${{ matrix.target }}-Build-Sim-${{ matrix.arch }}"
114
- path: "WebDriverAgentRunner${{ matrix.target }}-Build-Sim-${{ matrix.arch }}.zip"