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

#2627 Use Xcode16 in sempahoreci #2628

Closed
wants to merge 2 commits into from

Conversation

ioanmo226
Copy link
Collaborator

This PR uses Xcode16 in sempahoreci

close #2627 // if this PR closes an issue


Tests (delete all except exactly one):

  • Does not need tests (refactor only, docs or internal changes)

To be filled by reviewers

I have reviewed that this PR... (tick whichever items you personally focused on during this review):

  • addresses the issue it closes (if any)
  • code is readable and understandable
  • is accompanied with tests, or tests are not needed
  • is free of vulnerabilities
  • is documented clearly and usefully, or doesn't need documentation

@ioanmo226
Copy link
Collaborator Author

Build still fails after changing fastfile & semaphoreci configuration.
I think it still fails because appium-xcuitest-driver doesn't support stable Xcode16 version?
@sosnovsky What's your thought?

https://github.com/appium/appium-xcuitest-driver/blob/master/docs/installation/requirements.md#:~:text=Xcode%2016%2Dbeta,7.24.15

@sosnovsky
Copy link
Collaborator

It builds well, but error happens when appium tries to connect to webdriverio. I tried to upgrade webdriverio to v9 in https://github.com/FlowCrypt/flowcrypt-ios/tree/xcode-16-test, but it still fails, maybe needs some configuration changes, checking it too

@ioanmo226
Copy link
Collaborator Author

I still think build fails because appium-xcuitest-driver doesn't support stable Xcode16 version?

@sosnovsky
Copy link
Collaborator

I tried to run tests locally with Xcode 16 stable and they work well, can be just some CI-specific issue, which I hope can be fixed, as it would be great to have CI builds completed in 7 minutes instead of 30 :)

@sosnovsky
Copy link
Collaborator

Hi @ioanmo226, I found reason for tests failure on Semaphore, but still can't find fix for it - Appium opens iOS simulator using open -Fn /Applications/Xcode-16.0.0.app/Contents/Developer/Applications/Simulator.app command (https://github.com/appium/appium-ios-simulator/blob/master/lib/simulator-xcode-10.js#L420), but it fails on Semaphore M1 machines with Domain does not support specified action error message.

The same happens on Semaphore M1 machines with Xcode 15, so it's not Xcode 16 specific issue.

Locally this command works well on M1, can be some Semaphore machine security settings restricting running apps from root /Applications folder. Maybe you have some tips on possible fix?

@ioanmo226
Copy link
Collaborator Author

ioanmo226 commented Oct 9, 2024

Aha, I see
Let me dig more. Thank you checking

@ioanmo226
Copy link
Collaborator Author

@sosnovsky
Copy link
Collaborator

Not sure about it, as Semaphore machines should be able to run Xcode and simulators for UI tests.
Also previous a1-... machines were able to open these apps, so I still believe that it's some misconfiguration, but let's wait for Semaphore support response - they should be better acknowledged about such issues.

@sosnovsky
Copy link
Collaborator

Hi @ioanmo226, I think with current Semaphore configuration where a2-standard-4 machines are not able to run UI tests, we can use a2-standard-4 machines for building FlowCrypt app (which takes 4 minutes instead of 35 minutes) and WebDriverAgent, and then use a1-standard-4 for running UI tests. I tried to use such configuration in xcode-16-test branch

@ioanmo226
Copy link
Collaborator Author

That sounds good.
As you can see from SemaphoreCI contact ticket, XCode16 image still doesn't work with a1-standard-4 machine and they are working on to fix it. (which returns npm not recognized error)

@sosnovsky
Copy link
Collaborator

Hi @ioanmo226, application does not support the x86_64 Simulator architecture error probably appears because app is built on arm64 machine, while a1-standard-4 has x86_64 architecture.

It should be possible to build app for both architectures, I've tried to do it by adding ARCHS='x86_64 arm64' VALID_ARCHS='x86_64 arm64' build args, but they didn't work, will need to check it further.

@ioanmo226 ioanmo226 closed this Dec 19, 2024
@ioanmo226 ioanmo226 deleted the 2627-use-xcode16-image-in-semaphoreci branch December 19, 2024 13:48
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.

Use XCode16 image in SemaphoreCI
2 participants