-
Notifications
You must be signed in to change notification settings - Fork 85
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
[eas-cli] [ENG-10555] Fix device provsioning #2119
[eas-cli] [ENG-10555] Fix device provsioning #2119
Conversation
Updates provisioning profile in EAS before using it if the profile id matches the one from apple but the list of devices does not See: https://linear.app/expo/issue/ENG-10555/ios-devices-get-stuck-in-failed-to-provision-state-until-the-developer
Added test for a newly added case See: https://linear.app/expo/issue/ENG-10555/ios-devices-get-stuck-in-failed-to-provision-state-until-the-developer
ENG-10555 iOS devices get stuck in "Failed to provision" state until the developer deletes their provisioning profile
See this Reddit thread:
Someone posted a solution:
It's good that developers have a workaround. However, it would be even better if they did not have to manually delete their provisioning profile, and if their device is listed as "Active" on the Apple Developer website, we should not continue to treat the device as being in the "Processing" state. |
…-10555-fix-device-provioning
/changelog-entry bug-fix Fixed provisioning of new devices into an existing profile |
Codecov Report
@@ Coverage Diff @@
## main #2119 +/- ##
==========================================
+ Coverage 54.20% 54.21% +0.01%
==========================================
Files 509 509
Lines 18653 18657 +4
Branches 3739 3740 +1
==========================================
+ Hits 10109 10113 +4
Misses 8523 8523
Partials 21 21
|
…-10555-fix-device-provioning
✅ Thank you for adding the changelog entry! |
Size Change: -90 B (0%) Total Size: 42.3 MB
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Looks reasonable
Why
https://linear.app/expo/issue/ENG-10555/ios-devices-get-stuck-in-failed-to-provision-state-until-the-developer
https://www.reddit.com/r/expo/comments/17kr7rr/failed_to_provision/?sort=new
How
The problem happened when the provisioning profile already existed and the user wanted to add new devices to it. In such a case, a missing device was added to the Apple Developer Portal if needed, but the provisioning profile from EAS was used unchanged. This meant that no matter what the devices list in the provisioning profile used was the same as before and thus resulted in a warning message and a failure.
Now another check has been added, if the id of the profile from EAS matches the one from Apple the list of devices is compared. If it's the same then the profile is reused as before. If the list is different then the profile in EAS gets updated first with the current devices data from Apple
Test Plan
Tested manually by reproducing the issue mentioned by the users, applying fix and confirming that the issue went away.
Also added an automated test to cover the new case and adjusted existing tests