Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ios): completely rework ios #726

Merged
merged 68 commits into from
Jan 22, 2023
Merged

feat(ios): completely rework ios #726

merged 68 commits into from
Jan 22, 2023

Conversation

Malinskiy
Copy link
Member

@Malinskiy Malinskiy commented Dec 28, 2022

This PR reworks iOS implementation of testing. Short version of changes:

  • Add support for local test runs without SSH
  • Support XCUITests as well as XCTests
  • Support creating, booting, erasing, shutting down simulators with required configurations
  • Remove dependency on source code parsing for listing tests
  • Require providing only .app and .xctest (including as zip and ipa and derived data dir)
  • Enhance auth support for ssh with password auth and known hosts in OpenSSH server format
  • Support specifying XC attachment lifetime
  • Support screen recording (video and screenshots assembled into a gif)
  • Support lifecycle hooks for each simulator to erase on start or terminate on dispose at the end of the run
  • Support granting permissions
  • Explicit timeouts for every operation

and more

Docs are updated in this PR, refer to them for more info, until 0.8.0 they will be at docs.marathonlabs.io/next/ios

@Nader822
Copy link

I'm

@Malinskiy Malinskiy force-pushed the feature/ios-rework branch 2 times, most recently from cfd89d4 to e479dfa Compare January 18, 2023 10:51
@codecov
Copy link

codecov bot commented Jan 22, 2023

Codecov Report

Merging #726 (9d863aa) into develop (e0dbfb9) will decrease coverage by 2.78%.
The diff coverage is 56.10%.

@@              Coverage Diff              @@
##             develop     #726      +/-   ##
=============================================
- Coverage      62.05%   59.27%   -2.78%     
- Complexity       724      822      +98     
=============================================
  Files            181      209      +28     
  Lines           3697     4182     +485     
  Branches         596      655      +59     
=============================================
+ Hits            2294     2479     +185     
- Misses          1104     1377     +273     
- Partials         299      326      +27     
Impacted Files Coverage Δ
...lin/com/malinskiy/marathon/config/Configuration.kt 50.94% <ø> (+0.03%) ⬆️
...y/marathon/config/LogicalConfigurationValidator.kt 8.33% <0.00%> (+8.33%) ⬆️
...thon/config/serialization/yaml/FileListProvider.kt 0.00% <0.00%> (ø)
...athon/config/serialization/yaml/SerializeModule.kt 100.00% <ø> (ø)
.../main/kotlin/com/malinskiy/marathon/actor/Actor.kt 68.42% <0.00%> (ø)
...in/com/malinskiy/marathon/device/DeviceProvider.kt 100.00% <ø> (ø)
...kiy/marathon/device/file/FileTransferExtensions.kt 0.00% <0.00%> (ø)
...iy/marathon/device/screenshot/GifSequenceWriter.kt 0.00% <ø> (ø)
...m/malinskiy/marathon/device/screenshot/Rotation.kt 0.00% <ø> (ø)
...nskiy/marathon/device/screenshot/ScreenCapturer.kt 0.00% <0.00%> (ø)
... and 51 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

simctl io doesn't really support gif even if it advertises that. use jpeg images for combining into gif since they're lightweight and we don't need pixel-perfect here
@Malinskiy Malinskiy marked this pull request as ready for review January 22, 2023 10:51
@Malinskiy Malinskiy merged commit 14c0edc into develop Jan 22, 2023
@Malinskiy Malinskiy deleted the feature/ios-rework branch January 22, 2023 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants