Skip to content

Add iOS TCP testing support with CLI commands and GitHub workflow#77

Merged
mattleibow merged 19 commits intomainfrom
copilot/fix-76
Jun 18, 2025
Merged

Add iOS TCP testing support with CLI commands and GitHub workflow#77
mattleibow merged 19 commits intomainfrom
copilot/fix-76

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jun 13, 2025

This pull request introduces significant updates to support iOS testing, improve workflows, and enhance cross-platform CLI functionality. Key changes include adding iOS-specific commands and updating workflows for consistency.

iOS Testing Support:

  • Added a new iOSTestCommand class to handle iOS-specific test operations, including app installation, execution, and cleanup on simulators. This supports features like device log saving and error handling. (src/DeviceRunners.Cli/Commands/iOS/TestCommand.cs, src/DeviceRunners.Cli/Commands/iOS/TestCommand.csR1-R163)
  • Updated Program.cs to include iOS-specific commands and examples for running tests on iOS simulators. (src/DeviceRunners.Cli/Program.cs, [1] [2]
  • Extended the TestStartResult model to include a DeviceLogFile property for saving iOS device logs. (src/DeviceRunners.Cli/Models/TestStartResult.cs, src/DeviceRunners.Cli/Models/TestStartResult.csR12)

Workflow Enhancements:

  • Added a new test-tcp-ios.yml workflow for running iOS tests on macOS runners, including steps for setting up tools, creating simulators, and running tests. (.github/workflows/test-tcp-ios.yml, .github/workflows/test-tcp-ios.ymlR1-R72)
  • Updated existing workflows (test-tcp-android.yml, test-tcp-macos.yml, test-tcp-windows.yml, test-tcp-windows-unpackaged.yml) to use the release configuration for building and installing CLI tools for consistency. [1] [2] [3] [4]

Miscellaneous:

Copilot AI changed the title [WIP] TCP testing for iOS Add iOS TCP testing support with CLI commands and GitHub workflow Jun 13, 2025
Copilot AI requested a review from mattleibow June 13, 2025 02:10
Copy link
Copy Markdown
Owner

@mattleibow mattleibow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the appledev.tools code please.

Maybe clone the https://github.com/redth/appledev.tools repo and browse the apis available.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jun 13, 2025

Use the appledev.tools code please.

Maybe clone the https://github.com/redth/appledev.tools repo and browse the apis available.

Updated the iOS service implementation to use the AppleDev library instead of custom xcrun calls. The service now uses SimCtl for simulator operations and AppBundleReader for Info.plist parsing. Changes in commit 6426891.

Copy link
Copy Markdown
Owner

@mattleibow mattleibow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the dotnet tool and not xcrun.

You will probably have to install it first, so run

dotnet tool install --local AppleDev.Tools --version 0.6.2

Before you start to work. Keep in mind, this tool may only work on macos so you will have to use the source to figure out the commands.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jun 13, 2025

Use the dotnet tool and not xcrun.

You will probably have to install it first, so run...

Updated implementation to use the dotnet tool instead of xcrun. Installed AppleDev.Tools v0.6.2 and replaced the service to use Process calls to dotnet appledev commands. Fixed in commit 810405e.

@mattleibow mattleibow force-pushed the copilot/fix-76 branch 2 times, most recently from 4423882 to 7b53275 Compare June 16, 2025 17:42
Copilot AI requested a review from mattleibow June 17, 2025 21:08
@mattleibow mattleibow marked this pull request as ready for review June 17, 2025 21:14
Copilot AI and others added 2 commits June 18, 2025 22:35
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
@mattleibow
Copy link
Copy Markdown
Owner

Merging now with a submodule as this work is done. As soon as the AppleDev tool is released, I will delete the submodule and update the packages.

@mattleibow mattleibow merged commit c6b17db into main Jun 18, 2025
18 checks passed
@mattleibow mattleibow deleted the copilot/fix-76 branch June 18, 2025 21:55
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.

2 participants