Add Increased Memory Limit capabilities to produce and modify_services - #30088
Add Increased Memory Limit capabilities to produce and modify_services#30088csc-EricWu wants to merge 2 commits into
Conversation
|
Any further details on the Connect-API only stuff? I was following the additional changes, but a bit lost on the split between the server side. |
Expose INCREASED_MEMORY_LIMIT and INCREASED_MEMORY_LIMIT_DEBUGGING via App Store Connect API for produce enable_services, create_app_online enable_services validation, and modify_services. Aligns with the scope of fastlane#22189 without changing DeveloperCenter app creation flow. Co-authored-by: Cursor <cursoragent@cursor.com>
a10090b to
d496e1a
Compare
|
About the Connect API part:This PR only adds support for the two new capabilities (INCREASED_MEMORY_LIMIT and INCREASED_MEMORY_LIMIT_DEBUGGING) via Spaceship::ConnectAPI (the modern App Store Connect API path). It does not touch the old Developer Portal / legacy paths used in app creation.I followed the structure from PR #22189 as a reference:Added the new capability constants in the relevant ConnectAPI models. |
| expect(features["dataProtection"].value).to eq("complete") | ||
| end | ||
|
|
||
| it "skips Connect API-only services in legacy Portal enable_services" do |
There was a problem hiding this comment.
This test looked like some older logic you had, which doesn't seem relevant anymore. Things were force-pushed so I don't remember which commit added it, but its probably testing an older behavior
There was a problem hiding this comment.
Please take another look.I have added these logics
Capabilities such as increased_memory_limit and extended_virtual_address_space are not supported by the legacy Portal AppService API used during Spaceship.app.create!. Attempting to enable them via enable_services caused NoMethodError, and they cannot be added to app_service.rb because Apple only exposes them through the Connect API (PATCH bundleIds with capability IDs like INCREASED_MEMORY_LIMIT and EXTENDED_VIRTUAL_ADDRESSING). Skip Connect API-only services in the Portal enable_services path, then call Produce::Service after app creation to enable them. Build service options on a dedicated Class instance so accessor definitions do not pollute Object and break capability detection. Co-authored-by: Cursor <cursoragent@cursor.com>
56c9dab to
e9d817c
Compare
|
Thanks, so I was previously following this PR when it was just continuing the pattern of adding new capabilities and it made sense. Now we have new logic for |
|
Thanks for the question — the naming is confusing, and I should have explained the split more clearly in the PR description. |
This doesn't make sense to me. We create those no? Or are you saying these are custom entitlements that need to be approved and thus don't have a spot in the internal legacy Sorry the rest just looks like a bunch of AI gibberish and having difficulties following. It seems like this PR is on the way of solving the custom entitlement issue I think? #29609 |
|
It was Ai who answered, because I don't quite understand either, I just wanted to push this matter forward. |
iBotPeaches
left a comment
There was a problem hiding this comment.
Thanks for the honesty. At the moment I don't understand the other changes to feel comfortable merging. If I get some downtime to intercept some calls and look at what these memory changes are named I could probably validate a bit easier.
We'd need a better understanding of why enable_connect_api_services was introduced
Expose INCREASED_MEMORY_LIMIT and INCREASED_MEMORY_LIMIT_DEBUGGING via App Store Connect API for produce enable_services, create_app_online enable_services validation, and modify_services.
Aligns with the scope of #22189 without changing DeveloperCenter app creation flow.
Checklist
bundle exec rspecfrom the root directory to see all new and existing tests passbundle exec rubocop -ato ensure the code style is validci/circlecibuilds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
Description
Testing Steps