Fix App Store submission options for app-store-connect publish
#452
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #451.
Fix issues related to submitting apps to App Store using action
app-store-connect publish
with--app-store
option.Issue description
AppStoreConnect.publish first uploads the binaries using the private method _process_application_after_upload. If that succeeds, post-processing is carried out by another private method, _process_application_after_upload, which invokes additional actions based on the supplied CLI options.
The arguments for these actions are gathered using special dataclasses that mimic the signatures of the actions. However, the actions themselves were invoked via the Python API using dictionary unpacking, where arguments were passed as
**dataclasses.asdict(action_args_dataclass)
. This conversion to a dictionary resulted in the loss of type information. Consequently, non-primitive values, such as:were converted to:
which is not the expected format.
While it would be possible to use
**action_args_dataclass.__dict__
instead of**dataclasses.asdict(action_args_dataclass)
to retain the original types, a better approach for readability, linter, and type checker support would be to explicitly pass all values one by one. This ensures clarity and prevents type-related issues when invoking actions.Updated actions
app-store-connect publish