codemagic-cli-tools 0.50.4__tar.gz → 0.50.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/PKG-INFO +1 -1
  2. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/pyproject.toml +1 -1
  3. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/__version__.py +1 -1
  4. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/__version__.py-e +1 -1
  5. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/__init__.py +0 -1
  6. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/cli_app.py +2 -2
  7. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/cli_process.py +0 -23
  8. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/altool/altool.py +10 -84
  9. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/test_altool_retrying.py +4 -43
  10. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/LICENSE +0 -0
  11. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/README.md +0 -0
  12. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/__init__.py +0 -0
  13. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/__init__.py +0 -0
  14. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/__init__.py +0 -0
  15. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/api_client.py +0 -0
  16. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/api_error.py +0 -0
  17. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/api_session.py +0 -0
  18. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/apps/__init__.py +0 -0
  19. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/apps/apps.py +0 -0
  20. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/builds/__init__.py +0 -0
  21. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/builds/builds.py +0 -0
  22. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/json_web_token_manager.py +0 -0
  23. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/provisioning/__init__.py +0 -0
  24. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/provisioning/bundle_id_capabilities.py +0 -0
  25. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/provisioning/bundle_ids.py +0 -0
  26. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/provisioning/devices.py +0 -0
  27. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/provisioning/profiles.py +0 -0
  28. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/provisioning/signing_certificates.py +0 -0
  29. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/resource_manager.py +0 -0
  30. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/testflight/__init__.py +0 -0
  31. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/testflight/beta_groups.py +0 -0
  32. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/type_declarations.py +0 -0
  33. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/__init__.py +0 -0
  34. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/app_store_version_localizations.py +0 -0
  35. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/app_store_version_submissions.py +0 -0
  36. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/app_store_versions.py +0 -0
  37. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/beta_app_review_submissions.py +0 -0
  38. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/beta_build_localizations.py +0 -0
  39. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/pre_release_versions.py +0 -0
  40. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/review_submission_items.py +0 -0
  41. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/app_store_connect/versioning/review_submissions.py +0 -0
  42. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/__init__.py +0 -0
  43. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/app.py +0 -0
  44. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/app_store_version.py +0 -0
  45. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/app_store_version_localization.py +0 -0
  46. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/app_store_version_submission.py +0 -0
  47. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/beta_app_localization.py +0 -0
  48. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/beta_app_review_detail.py +0 -0
  49. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/beta_app_review_submission.py +0 -0
  50. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/beta_build_localization.py +0 -0
  51. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/beta_group.py +0 -0
  52. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/build.py +0 -0
  53. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/build_beta_detail.py +0 -0
  54. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/bundle_id.py +0 -0
  55. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/bundle_id_capability.py +0 -0
  56. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/device.py +0 -0
  57. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/enums.py +0 -0
  58. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/error_response.py +0 -0
  59. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/pre_release_version.py +0 -0
  60. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/profile.py +0 -0
  61. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/resource.py +0 -0
  62. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/review_submission.py +0 -0
  63. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/review_submission_item.py +0 -0
  64. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/apple/resources/signing_certificate.py +0 -0
  65. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/action.py +0 -0
  66. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/action_group.py +0 -0
  67. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/__init__.py +0 -0
  68. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/action_callable.py +0 -0
  69. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/argument.py +0 -0
  70. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/argument_formatter.py +0 -0
  71. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/argument_parser_builder.py +0 -0
  72. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/argument_properties.py +0 -0
  73. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/common_argument_types.py +0 -0
  74. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/argument/typed_cli_argument.py +0 -0
  75. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/cli_help_formatter.py +0 -0
  76. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/cli_process_stream.py +0 -0
  77. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/cli_types.py +0 -0
  78. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/colors.py +0 -0
  79. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/cli/environment.py +0 -0
  80. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/data/jars/bundletool-all-1.13.1.jar +0 -0
  81. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/__init__.py +0 -0
  82. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/errors.py +0 -0
  83. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/firebase_client.py +0 -0
  84. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/google_client.py +0 -0
  85. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resource_managers/__init__.py +0 -0
  86. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resource_managers/mixins/__init__.py +0 -0
  87. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resource_managers/mixins/acting_manager_mixin.py +0 -0
  88. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resource_managers/mixins/listing_manager_mixin.py +0 -0
  89. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resource_managers/release_manager.py +0 -0
  90. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resource_managers/resource_manager.py +0 -0
  91. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/__init__.py +0 -0
  92. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/identifiers/__init__.py +0 -0
  93. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/identifiers/app_identifier.py +0 -0
  94. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/identifiers/resource_identifier.py +0 -0
  95. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/release.py +0 -0
  96. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/release_notes.py +0 -0
  97. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google/resources/resource.py +0 -0
  98. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/__init__.py +0 -0
  99. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/api_client.py +0 -0
  100. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/api_error.py +0 -0
  101. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/resources/__init__.py +0 -0
  102. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/resources/edit.py +0 -0
  103. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/resources/enums.py +0 -0
  104. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/resources/resource.py +0 -0
  105. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/google_play/resources/track.py +0 -0
  106. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/mixins/__init__.py +0 -0
  107. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/mixins/path_finder.py +0 -0
  108. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/mixins/running_cli_app.py +0 -0
  109. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/mixins/str_converter.py +0 -0
  110. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/__init__.py +0 -0
  111. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/altool/__init__.py +0 -0
  112. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/altool/altool_result.py +0 -0
  113. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/altool/enums.py +0 -0
  114. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/android_signing_info.py +0 -0
  115. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/application_package/__init__.py +0 -0
  116. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/application_package/abstract_package.py +0 -0
  117. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/application_package/ipa.py +0 -0
  118. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/application_package/macos_package.py +0 -0
  119. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/bundle_id_detector.py +0 -0
  120. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/certificate.py +0 -0
  121. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/certificate_attributes.py +0 -0
  122. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/certificate_p12_exporter.py +0 -0
  123. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/code_sign_entitlements.py +0 -0
  124. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/code_signing_settings_manager.py +0 -0
  125. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/enums.py +0 -0
  126. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/export_options.py +0 -0
  127. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/json_serializable.py +0 -0
  128. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/junit/__init__.py +0 -0
  129. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/junit/definitions.py +0 -0
  130. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/junit/printer.py +0 -0
  131. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/keystore.py +0 -0
  132. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/pbx_project.py +0 -0
  133. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/private_key.py +0 -0
  134. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/provisioning_profile.py +0 -0
  135. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/simulator/__init__.py +0 -0
  136. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/simulator/core_simulator_service.py +0 -0
  137. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/simulator/runtime.py +0 -0
  138. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/simulator/simulator.py +0 -0
  139. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/table/__init__.py +0 -0
  140. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/table/line.py +0 -0
  141. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/table/table.py +0 -0
  142. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xcode.py +0 -0
  143. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xcodebuild.py +0 -0
  144. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xcpretty.py +0 -0
  145. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xctests/__init__.py +0 -0
  146. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xctests/collector.py +0 -0
  147. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xctests/converter.py +0 -0
  148. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xctests/xcresult.py +0 -0
  149. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/models/xctests/xcresulttool.py +0 -0
  150. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/py.typed +0 -0
  151. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/scripts/code_signing_manager.rb +0 -0
  152. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/shell_tools/__init__.py +0 -0
  153. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/shell_tools/abstract_shell_tool.py +0 -0
  154. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/shell_tools/keytool.py +0 -0
  155. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/__init__.py +0 -0
  156. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/_xcode_project/__init__.py +0 -0
  157. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/_xcode_project/arguments.py +0 -0
  158. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/android_app_bundle.py +0 -0
  159. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/android_keystore/__init__.py +0 -0
  160. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/android_keystore/__main__.py +0 -0
  161. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/android_keystore/android_keystore.py +0 -0
  162. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/android_keystore/argument_types.py +0 -0
  163. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/android_keystore/arguments.py +0 -0
  164. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/__init__.py +0 -0
  165. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/__main__.py +0 -0
  166. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/abstract_base_action.py +0 -0
  167. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_group.py +0 -0
  168. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/__init__.py +0 -0
  169. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_localizations_action_group.py +0 -0
  170. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/app_store_version_submissions_action_group.py +0 -0
  171. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/app_store_versions_action_group.py +0 -0
  172. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/apps_action_group.py +0 -0
  173. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/beta_app_review_submissions_action_group.py +0 -0
  174. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/beta_build_localizations_action_group.py +0 -0
  175. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/beta_groups_action_group.py +0 -0
  176. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/builds_action_group.py +0 -0
  177. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/bundle_ids_action_group.py +0 -0
  178. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/certificates_action_group.py +0 -0
  179. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/devices_action_group.py +0 -0
  180. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/profiles_action_group.py +0 -0
  181. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/review_submission_items_actions_group.py +0 -0
  182. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/action_groups/review_submissions_actions_group.py +0 -0
  183. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/actions/__init__.py +0 -0
  184. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/actions/fetch_signing_files_action.py +0 -0
  185. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/actions/latest_build_number_actions.py +0 -0
  186. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/actions/publish_action.py +0 -0
  187. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/app_store_connect.py +0 -0
  188. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/arguments.py +0 -0
  189. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/errors.py +0 -0
  190. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/mixins/__init__.py +0 -0
  191. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/mixins/resource_manager_mixin.py +0 -0
  192. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/mixins/signing_file_saver_mixin.py +0 -0
  193. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/app_store_connect/resource_printer.py +0 -0
  194. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/codemagic_cli_tools.py +0 -0
  195. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/__init__.py +0 -0
  196. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/__main__.py +0 -0
  197. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/action_groups/__init__.py +0 -0
  198. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/action_groups/firebase_action_groups.py +0 -0
  199. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/action_groups/releases_action_group.py +0 -0
  200. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/actions/__init__.py +0 -0
  201. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/actions/get_latest_build_version_action.py +0 -0
  202. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/argument_types.py +0 -0
  203. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/arguments.py +0 -0
  204. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/errors.py +0 -0
  205. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/firebase_app_distribution.py +0 -0
  206. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/firebase_app_distribution_action.py +0 -0
  207. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/firebase_app_distribution/resource_printer.py +0 -0
  208. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/git_changelog.py +0 -0
  209. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/__init__.py +0 -0
  210. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/__main__.py +0 -0
  211. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/action_groups/__init__.py +0 -0
  212. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/action_groups/google_play_action_groups.py +0 -0
  213. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/action_groups/tracks_action_group.py +0 -0
  214. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/actions/__init__.py +0 -0
  215. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/actions/get_latest_build_number_action.py +0 -0
  216. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/argument_types.py +0 -0
  217. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/arguments.py +0 -0
  218. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/errors.py +0 -0
  219. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/google_play.py +0 -0
  220. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/google_play/google_play_base_action.py +0 -0
  221. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/keychain.py +0 -0
  222. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/universal_apk_generator.py +0 -0
  223. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/tools/xcode_project.py +0 -0
  224. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/__init__.py +0 -0
  225. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/auditing/__init__.py +0 -0
  226. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/auditing/base_auditor.py +0 -0
  227. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/auditing/exception_auditor.py +0 -0
  228. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/auditing/http_request_auditor.py +0 -0
  229. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/backwards_file_reader.py +0 -0
  230. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/case_conversion.py +0 -0
  231. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/decorators.py +0 -0
  232. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/levenshtein_distance.py +0 -0
  233. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/log.py +0 -0
  234. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/src/codemagic/utilities/versions.py +0 -0
  235. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/__init__.py +0 -0
  236. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/__init__.py +0 -0
  237. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/__init__.py +0 -0
  238. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/apps/__init__.py +0 -0
  239. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/apps/test_apps.py +0 -0
  240. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/builds/__init__.py +0 -0
  241. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/builds/test_builds.py +0 -0
  242. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/__init__.py +0 -0
  243. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/conftest.py +0 -0
  244. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/test_bundle_id_capabilities.py +0 -0
  245. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/test_bundle_ids.py +0 -0
  246. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/test_devices.py +0 -0
  247. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/test_profiles.py +0 -0
  248. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/provisioning/test_signing_certificates.py +0 -0
  249. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/resource_manager_test_base.py +0 -0
  250. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/test_api_client.py +0 -0
  251. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/test_api_session.py +0 -0
  252. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/test_json_web_token_manager.py +0 -0
  253. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/test_resource_manager.py +0 -0
  254. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/testflight/__init__.py +0 -0
  255. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/testflight/test_beta_groups.py +0 -0
  256. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_app_store_version_localizations.py +0 -0
  257. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_app_store_version_submissions.py +0 -0
  258. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_app_store_versions.py +0 -0
  259. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_beta_app_review_submissions.py +0 -0
  260. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_beta_build_localizations.py +0 -0
  261. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_pre_release_versions.py +0 -0
  262. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_review_submission_items.py +0 -0
  263. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/app_store_connect/versioning/test_review_submissions.py +0 -0
  264. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/__init__.py +0 -0
  265. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/conftest.py +0 -0
  266. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/enums/__init__.py +0 -0
  267. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/enums/test_capability_type.py +0 -0
  268. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/enums/test_certificate_type.py +0 -0
  269. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/enums/test_profile_type.py +0 -0
  270. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/app_store_version.json +0 -0
  271. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/build.json +0 -0
  272. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/bundle_id.json +0 -0
  273. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/bundle_id_capability.json +0 -0
  274. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/certificate.json +0 -0
  275. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/device.json +0 -0
  276. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/error_response.json +0 -0
  277. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/error_response_entity_state_invalid.json +0 -0
  278. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/error_response_with_links.json +0 -0
  279. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/mock_resource.json +0 -0
  280. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/pre_release_version.json +0 -0
  281. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/mocks/profile.json +0 -0
  282. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_app_store_version_resource.py +0 -0
  283. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_build_resource.py +0 -0
  284. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_bundle_id_capability_resource.py +0 -0
  285. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_bundle_id_resource.py +0 -0
  286. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_device_resource.py +0 -0
  287. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_error_response.py +0 -0
  288. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_pre_release_version_resource.py +0 -0
  289. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_profile_resource.py +0 -0
  290. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_resource.py +0 -0
  291. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_signing_certificate_resource.py +0 -0
  292. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/apple/resources/test_undefined_resource_fields.py +0 -0
  293. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/__init__.py +0 -0
  294. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/argument/__init__.py +0 -0
  295. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/argument/common_argument_types/__init__.py +0 -0
  296. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/argument/common_argument_types/test_bounded_number.py +0 -0
  297. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/argument/common_argument_types/test_iso_8601_datetime.py +0 -0
  298. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/argument/common_argument_types/test_maybe_dir.py +0 -0
  299. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/argument/test_argument.py +0 -0
  300. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/mocks/utf-8-sample.txt +0 -0
  301. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/test_cli_process.py +0 -0
  302. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/cli/test_decorators.py +0 -0
  303. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/conftest.py +0 -0
  304. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google/__init__.py +0 -0
  305. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google/conftest.py +0 -0
  306. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google/test_firebase_client.py +0 -0
  307. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google/test_live_firebase_client.py +0 -0
  308. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/__init__.py +0 -0
  309. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/__init__.py +0 -0
  310. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/conftest.py +0 -0
  311. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/mocks/edit.json +0 -0
  312. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/mocks/track.json +0 -0
  313. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/test_edit_resource.py +0 -0
  314. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/test_resource_print.py +0 -0
  315. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/resources/test_track_resource.py +0 -0
  316. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/google_play/test_api_client.py +0 -0
  317. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mixins/__init__.py +0 -0
  318. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mixins/test_string_converter.py +0 -0
  319. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mocks/certificate.asn1 +0 -0
  320. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mocks/encrypted.pem +0 -0
  321. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mocks/encrypted.pem.pub +0 -0
  322. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mocks/unencrypted.pem +0 -0
  323. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/mocks/unencrypted.pem.pub +0 -0
  324. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/__init__.py +0 -0
  325. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/__init__.py +0 -0
  326. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/mocks/mock_failure_auth.txt +0 -0
  327. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/mocks/mock_failure_other.txt +0 -0
  328. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/mocks/mock_upload_success.json +0 -0
  329. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/mocks/mock_validation_failure.json +0 -0
  330. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/altool/test_altool_result.py +0 -0
  331. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/conftest.py +0 -0
  332. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/enums/__init__.py +0 -0
  333. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/enums/test_resource_enum.py +0 -0
  334. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/junit/__init__.py +0 -0
  335. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/junit/mocks/testsuite.xml +0 -0
  336. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/junit/test_xml_generation.py +0 -0
  337. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/certificate-no-password.p12 +0 -0
  338. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/certificate.p12 +0 -0
  339. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/codemagic_io_wildcard_development.mobileprovision +0 -0
  340. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/export_options.plist +0 -0
  341. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock.ipa +0 -0
  342. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock.xcarchive/Products/Applications/Capybara App.app/Capybara App +0 -0
  343. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock_0_icloud_container_environments.plist +0 -0
  344. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock_1_icloud_container_environments.plist +0 -0
  345. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock_2_icloud_container_environments.plist +0 -0
  346. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock_openssh_private_key +0 -0
  347. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock_rsa_private_key +0 -0
  348. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/mocks/mock_xcode/Contents/version.plist +0 -0
  349. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/simulator/__init__.py +0 -0
  350. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/simulator/mocks/devices.json +0 -0
  351. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/simulator/mocks/simulator.json +0 -0
  352. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/simulator/test_runtime.py +0 -0
  353. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/simulator/test_simulator.py +0 -0
  354. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_certificate.py +0 -0
  355. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_certificate_attributes.py +0 -0
  356. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_code_sign_entitlements.py +0 -0
  357. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_export_options.py +0 -0
  358. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_private_key.py +0 -0
  359. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_provisioning_profile.py +0 -0
  360. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_table.py +0 -0
  361. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/test_xcode.py +0 -0
  362. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/__init__.py +0 -0
  363. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/conftest.py +0 -0
  364. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_1NtPgUPcB1A83X977l5Q91ElstUeVDnqAhumk_VJG8DIS4GA1sb8ElPPHZZGYEHmNvnHU1VVaPDCw1tI8n3uXg__.json +0 -0
  365. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_5rAUs3HknUI7DU8Jyc5RlFcosqCXTOV-qwOaOE1Mul_ppK8QCta-NSxxCdtVg6i12km4zTR5l0SjgzfHGUNxog__.json +0 -0
  366. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_97T9qQZ3dEI1oDS6NvYTPcFk_jUXFJ0NRwyd5FZ2S585JGMtlqbF28Hc85yeifgKEnNoInoW93Za9c5QJCspeQ__.json +0 -0
  367. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_DVcJZnHFaQQlzl8czovv7RuDRQIToEr5_3lLe-Mn1Sm6VreJ5xoXEFqBaWNv0XRmSg00NJ77XzQKgddhfkuk7w__.json +0 -0
  368. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_FZMbIp5VAUEiJv1wUUM-K78Dtmb4o-titbTusDJqRuarbS9OatzAykygXo4NUqEoR9sxCIoeu8VDioQmbba6mw__.json +0 -0
  369. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_Hj6SOUxY1APmxdQEA2HdqbA52GD3WJE571nqr_Z-w8vi_buxP-GUjNxCsGYQvnKnnwlyykwxY-KJmjqKYmPyXQ__.json +0 -0
  370. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_NnCmQ8rMqVyUBgL3ZDjfjJ9Vt1AMGeMzZPkDH30rGMYer0pFDpp4UDZlCEHRImO-48LdC_KdcbjP70IZA6zKUQ__.json +0 -0
  371. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_YK9aPHVT-grv_ZVooRT79GBO9n82BNogkuWVzFO6itJEtbtsRTQpK2-0ZDLot1JpCfPb26aZwEZjeb9G4GHiBQ__.json +0 -0
  372. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0__H1_RrdBT9b-ZhkWCQiRKpHlwURmyWUudeOhj5UslLXhXl8mr9w5CGqdobi9A5wCVEIRMsO4yuFyzx2gMPr-_Q__.json +0 -0
  373. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/0_evvkuGf92MVrmIvhr07911LuRTiPBKDjIQ0q_7L-mPGGYkWVKMBPQ5pB5lbjoaOnvr0fpC9k003EunfwSdss2g__.json +0 -0
  374. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/mocks/actions_invocation_record.json +0 -0
  375. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/test_collector.py +0 -0
  376. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/test_converter.py +0 -0
  377. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/models/xctests/test_xcresult.py +0 -0
  378. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/__init__.py +0 -0
  379. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/__init__.py +0 -0
  380. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/conftest.py +0 -0
  381. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/mocks/android.ks +0 -0
  382. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/mocks/non-rfc-cert-keystore.jks +0 -0
  383. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/mocks/non-rfc-cert-keystore.p12 +0 -0
  384. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/mocks/rfc-cert-keystore.jks +0 -0
  385. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/mocks/rfc-cert-keystore.p12 +0 -0
  386. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/test_get_certificate.py +0 -0
  387. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/test_get_certificates.py +0 -0
  388. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/shell_tools/keytool/test_validate.py +0 -0
  389. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/__init__.py +0 -0
  390. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/__init__.py +0 -0
  391. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/arguments/__init__.py +0 -0
  392. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/arguments/test_beta_build_localizations.py +0 -0
  393. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/conftest.py +0 -0
  394. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/mocks/AuthKeyMock.p8 +0 -0
  395. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/test_from_cli_args.py +0 -0
  396. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/app_store_connect/test_publish_action.py +0 -0
  397. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/mocks/firebase_releases.json +0 -0
  398. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/mocks/google_play_tracks.json +0 -0
  399. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/test_android_app_bundle.py +0 -0
  400. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/test_firebase_app_distribution.py +0 -0
  401. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/test_google_play.py +0 -0
  402. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/test_keychain.py +0 -0
  403. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/tools/test_universal_apk_generator.py +0 -0
  404. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/__init__.py +0 -0
  405. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/decorators/__init__.py +0 -0
  406. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/decorators/test_deprecated.py +0 -0
  407. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/test_backwards_file_reader.py +0 -0
  408. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/test_case_conversion.py +0 -0
  409. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/test_levenshtein_distance.py +0 -0
  410. {codemagic_cli_tools-0.50.4 → codemagic_cli_tools-0.50.5}/tests/utilities/test_versions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemagic-cli-tools
3
- Version: 0.50.4
3
+ Version: 0.50.5
4
4
  Summary: CLI tools used in Codemagic builds
5
5
  Home-page: https://github.com/codemagic-ci-cd/cli-tools
6
6
  License: GPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemagic-cli-tools"
3
- version = "0.50.4"
3
+ version = "0.50.5"
4
4
  description = "CLI tools used in Codemagic builds"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -1,5 +1,5 @@
1
1
  __title__ = "codemagic-cli-tools"
2
2
  __description__ = "CLI tools used in Codemagic builds"
3
- __version__ = '0.50.4'
3
+ __version__ = '0.50.5'
4
4
  __url__ = "https://github.com/codemagic-ci-cd/cli-tools"
5
5
  __licence__ = "GNU General Public License v3.0"
@@ -1,5 +1,5 @@
1
1
  __title__ = "codemagic-cli-tools"
2
2
  __description__ = "CLI tools used in Codemagic builds"
3
- __version__ = "0.50.4.dev"
3
+ __version__ = "0.50.5.dev"
4
4
  __url__ = "https://github.com/codemagic-ci-cd/cli-tools"
5
5
  __licence__ = "GNU General Public License v3.0"
@@ -11,6 +11,5 @@ from .cli_app import CliApp
11
11
  from .cli_app import CliAppException
12
12
  from .cli_app import common_arguments
13
13
  from .cli_process import CliProcess
14
- from .cli_process import CliProcessHealthCheckError
15
14
  from .cli_types import CommandArg
16
15
  from .colors import Colors
@@ -392,7 +392,7 @@ class CliApp(metaclass=abc.ABCMeta):
392
392
  ArgumentParserBuilder(cls, main_or_group_action, deprecated_action_parsers, for_deprecated_alias=True).build()
393
393
  CliHelpFormatter.suppress_deprecated_action(main_or_group_action.deprecation_info.alias)
394
394
 
395
- def obfuscate_command(
395
+ def _obfuscate_command(
396
396
  self,
397
397
  command_args: Sequence[CommandArg],
398
398
  obfuscate_patterns: Optional[Iterable[ObfuscationPattern]] = None,
@@ -443,7 +443,7 @@ class CliApp(metaclass=abc.ABCMeta):
443
443
 
444
444
  return CliProcess(
445
445
  command_args,
446
- self.obfuscate_command(command_args, obfuscate_patterns),
446
+ self._obfuscate_command(command_args, obfuscate_patterns),
447
447
  dry=self.dry_run,
448
448
  print_streams=print_streams,
449
449
  ).execute(**execute_kwargs)
@@ -7,7 +7,6 @@ import subprocess
7
7
  import sys
8
8
  import time
9
9
  from typing import IO
10
- from typing import Callable
11
10
  from typing import Dict
12
11
  from typing import Optional
13
12
  from typing import Sequence
@@ -20,10 +19,6 @@ from .cli_types import CommandArg
20
19
  from .cli_types import ObfuscatedCommand
21
20
 
22
21
 
23
- class CliProcessHealthCheckError(Exception):
24
- pass
25
-
26
-
27
22
  class CliProcess:
28
23
  def __init__(
29
24
  self,
@@ -31,8 +26,6 @@ class CliProcess:
31
26
  safe_form: Optional[ObfuscatedCommand] = None,
32
27
  print_streams: bool = True,
33
28
  dry: bool = False,
34
- process_health_check: Optional[Callable[[CliProcess], bool]] = None,
35
- process_health_check_interval: float = 10,
36
29
  ):
37
30
  self.logger = log.get_logger(self.__class__)
38
31
  self.duration: float = 0
@@ -49,9 +42,6 @@ class CliProcess:
49
42
  self._stderr = ""
50
43
  self._stdout_stream: Optional[CliProcessStream] = None
51
44
  self._stderr_stream: Optional[CliProcessStream] = None
52
- self._process_health_check = process_health_check
53
- self._process_health_check_interval = process_health_check_interval
54
- self._process_health_check_at: Optional[float] = None
55
45
 
56
46
  @property
57
47
  def stdout(self) -> str:
@@ -86,18 +76,6 @@ class CliProcess:
86
76
  if self._stderr_stream:
87
77
  self._stderr += self._stderr_stream.process_buffer(buffer_size, self._print_streams)
88
78
 
89
- def _check_process_health(self):
90
- if not self._process_health_check:
91
- return
92
-
93
- now = time.time()
94
- if self._process_health_check_at and now - self._process_health_check_at < self._process_health_check_interval:
95
- return
96
-
97
- self._process_health_check_at = now
98
- if not self._process_health_check(self):
99
- raise CliProcessHealthCheckError("Process health check failed")
100
-
101
79
  def _configure_process_streams(self):
102
80
  if self._process.stdout:
103
81
  self._stdout_stream = CliProcessStream.create(self._process.stdout, sys.stdout, blocking=False)
@@ -124,7 +102,6 @@ class CliProcess:
124
102
  self._configure_process_streams()
125
103
  while self._process.poll() is None:
126
104
  self._handle_streams(self._buffer_size)
127
- self._check_process_health()
128
105
  time.sleep(poll_interval)
129
106
  self._handle_streams()
130
107
  finally:
@@ -7,7 +7,6 @@ import re
7
7
  import subprocess
8
8
  import time
9
9
  from contextlib import contextmanager
10
- from datetime import datetime
11
10
  from functools import lru_cache
12
11
  from typing import TYPE_CHECKING
13
12
  from typing import AnyStr
@@ -17,12 +16,9 @@ from typing import Optional
17
16
  from typing import Sequence
18
17
  from typing import Tuple
19
18
  from typing import Union
20
- from typing import cast
21
19
 
22
20
  import psutil
23
21
 
24
- from codemagic.cli import CliProcess
25
- from codemagic.cli import CliProcessHealthCheckError
26
22
  from codemagic.cli import environment
27
23
  from codemagic.mixins import RunningCliAppMixin
28
24
  from codemagic.mixins import StringConverterMixin
@@ -47,10 +43,6 @@ class AltoolCommandError(Exception):
47
43
  self.process_output = process_output
48
44
 
49
45
 
50
- class CFNetworkingRetryError(AltoolCommandError):
51
- pass
52
-
53
-
54
46
  class Altool(RunningCliAppMixin, StringConverterMixin):
55
47
  def __init__(
56
48
  self,
@@ -203,7 +195,7 @@ class Altool(RunningCliAppMixin, StringConverterMixin):
203
195
  return self._run_command(command, f'Failed to {action_name} archive at "{artifact_path}"', cli_app)
204
196
  except AltoolCommandError as error:
205
197
  has_retries = retries > 0
206
- should_retry = self._should_retry_command(error)
198
+ should_retry = self._should_retry_command(error.process_output)
207
199
  if has_retries and should_retry:
208
200
  if attempt == 1:
209
201
  print_fn(f"Failed to {action_name} archive, but this might be a temporary issue, retrying...")
@@ -242,28 +234,21 @@ class Altool(RunningCliAppMixin, StringConverterMixin):
242
234
  cli_app: Optional[CliApp],
243
235
  ) -> Optional[AltoolResult]:
244
236
  obfuscate_patterns = [self._password] if self._password else []
245
- process = None
246
237
  try:
247
238
  if cli_app:
248
- logs_inspector = CFNetworkErrorLogsInspector("altool", datetime.now())
249
- process = CliProcess(
239
+ process = cli_app.execute(
250
240
  command,
251
- cli_app.obfuscate_command(command, obfuscate_patterns),
252
- print_streams=cli_app.verbose,
253
- # Less than 100 should be fine. Retry attempts get to thousands within minutes
254
- process_health_check=lambda _: logs_inspector.get_estimated_errors_count() < 100,
255
- process_health_check_interval=10,
241
+ obfuscate_patterns,
242
+ show_output=False,
243
+ stderr=subprocess.STDOUT,
256
244
  )
257
- process.execute(stderr=subprocess.STDOUT)
258
245
  stdout = process.stdout
259
246
  process.raise_for_returncode()
260
247
  else:
261
- stdout = subprocess.check_output(command, stderr=subprocess.STDOUT).decode()
262
- except CliProcessHealthCheckError as hce:
263
- raise CFNetworkingRetryError(
264
- f"{error_message}: Connection to Apple's cloud storage failed",
265
- process.stdout if process else "",
266
- ) from hce
248
+ stdout = subprocess.check_output(
249
+ command,
250
+ stderr=subprocess.STDOUT,
251
+ ).decode()
267
252
  except subprocess.CalledProcessError as cpe:
268
253
  result = self._get_action_result(cpe.stdout)
269
254
  if result and result.product_errors:
@@ -301,16 +286,12 @@ class Altool(RunningCliAppMixin, StringConverterMixin):
301
286
  return output
302
287
 
303
288
  @classmethod
304
- def _should_retry_command(cls, error: Union[AltoolCommandError, CFNetworkingRetryError]):
305
- if isinstance(error, CFNetworkingRetryError):
306
- return True
307
-
289
+ def _should_retry_command(cls, process_output: str):
308
290
  patterns = (
309
291
  re.compile("Unable to authenticate.*-19209"),
310
292
  re.compile("server returned an invalid response.*try your request again"),
311
293
  re.compile("The request timed out."),
312
294
  )
313
- process_output = cast(AltoolCommandError, error).process_output
314
295
  return any(pattern.search(process_output) for pattern in patterns)
315
296
 
316
297
  @classmethod
@@ -336,58 +317,3 @@ class Altool(RunningCliAppMixin, StringConverterMixin):
336
317
  cli_app.echo(prettified_result)
337
318
  else:
338
319
  print(prettified_result)
339
-
340
-
341
- class CFNetworkErrorLogsInspector:
342
- ERROR_PATTERN = re.compile(r"^Task <[\w-]+>\.<(\d+)> finished with error")
343
-
344
- def __init__(self, process: str, start: datetime):
345
- self.logger = log.get_file_logger(self.__class__)
346
- predicate = " and ".join(
347
- [
348
- 'subsystem=="com.apple.CFNetwork"',
349
- f'process=="{process}"',
350
- 'eventMessage contains "finished with error"',
351
- 'eventMessage contains "Error Domain=NSURLErrorDomain"',
352
- 'eventMessage contains "Code=-1003"',
353
- ],
354
- )
355
- self.logs_command = (
356
- "log",
357
- "show",
358
- "--no-backtrace",
359
- "--no-debug",
360
- "--no-info",
361
- "--no-pager",
362
- *("--start", start.strftime("%Y-%m-%d %H:%M:%S")),
363
- *("--predicate", predicate),
364
- *("--style", "ndjson"),
365
- )
366
-
367
- def iter_log_entries(self):
368
- start = time.time()
369
- try:
370
- cp = subprocess.run(
371
- self.logs_command,
372
- capture_output=True,
373
- check=True,
374
- timeout=10,
375
- )
376
- except (subprocess.CalledProcessError, subprocess.TimeoutExpired):
377
- self.logger.exception("Checking CFNetwork error logs failed")
378
- return
379
- finally:
380
- self.logger.debug(f"Completed CFNetwork error logs check in {time.time() - start:.2f}s")
381
-
382
- for line in cp.stdout.splitlines():
383
- try:
384
- log_entry = json.loads(line)
385
- if log_entry.get("eventMessage") is not None:
386
- yield log_entry
387
- except ValueError:
388
- pass
389
-
390
- def get_estimated_errors_count(self) -> int:
391
- count = sum(1 for log_entry in self.iter_log_entries() if self.ERROR_PATTERN.match(log_entry["eventMessage"]))
392
- self.logger.debug(f"Found {count} log that hint indefinite CFNetwork retry loop")
393
- return count
@@ -1,38 +1,25 @@
1
1
  import json
2
2
  import pathlib
3
+ from types import SimpleNamespace
3
4
  from unittest import mock
4
5
 
5
6
  import pytest
6
7
  from codemagic.models import Altool
7
8
  from codemagic.models.altool import AltoolResult
8
9
  from codemagic.models.altool.altool import AltoolCommandError
9
- from codemagic.models.altool.altool import CFNetworkErrorLogsInspector
10
10
  from codemagic.models.altool.altool import PlatformType
11
11
 
12
12
 
13
13
  @pytest.fixture
14
- def mock_echo():
15
- return mock.MagicMock()
16
-
17
-
18
- @pytest.fixture
19
- def mock_cli_app(mock_echo):
20
- return mock.MagicMock(
21
- echo=mock_echo,
22
- verbose=False,
23
- obfuscate_command=lambda cmd, _: cmd,
24
- )
25
-
26
-
27
- @pytest.fixture
28
- def mock_altool(mock_cli_app):
14
+ def mock_altool():
29
15
  Altool._ensure_altool = mock.Mock(return_value=True)
30
16
  altool = Altool(
31
17
  username="user@example.com",
32
18
  password="xxxx-yyyy-zzzz-wwww",
33
19
  )
20
+ mock_echo = mock.MagicMock()
34
21
  altool._kill_xcode_processes_for_retrying = mock.Mock()
35
- altool.get_current_cli_app = lambda: mock_cli_app
22
+ altool.get_current_cli_app = lambda: SimpleNamespace(echo=mock_echo)
36
23
  return altool
37
24
 
38
25
 
@@ -158,29 +145,3 @@ def test_retrying_command_immediate_success(mock_altool, mock_success_stdout, mo
158
145
  with mock.patch.object(mock_altool, "_run_command", side_effect=[mock_success_result]):
159
146
  result = mock_altool.upload_app(pathlib.Path("app.ipa"), retries=100, retry_wait_seconds=0)
160
147
  assert result is mock_success_result
161
-
162
-
163
- @mock.patch("codemagic.cli.cli_process.subprocess.Popen")
164
- @mock.patch.object(CFNetworkErrorLogsInspector, "iter_log_entries")
165
- @mock.patch.object(PlatformType, "from_path", lambda _artifact_path: PlatformType.IOS)
166
- def test_cf_networking_error_retrying(mock_iter_log_entries, mock_popen, mock_altool, mock_echo):
167
- mock_popen.return_value = mock.MagicMock(
168
- poll=mock.MagicMock(return_value=None),
169
- stdout=mock.MagicMock(read=mock.MagicMock(return_value=b"")),
170
- )
171
- event_message = "Task <0E1A3630>.<123> finished with error [-1003] Error Domain=NSURLErrorDomain Code=-1003 "
172
- mock_iter_log_entries.return_value = [{"eventMessage": event_message} for _ in range(101)]
173
-
174
- with pytest.raises(IOError) as exc_info:
175
- mock_altool.upload_app(
176
- pathlib.Path("app.ipa"),
177
- retries=2,
178
- )
179
-
180
- assert str(exc_info.value) == 'Failed to upload archive at "app.ipa": Connection to Apple\'s cloud storage failed'
181
- mock_echo.assert_has_calls(
182
- [
183
- mock.call("Failed to upload archive, but this might be a temporary issue, retrying..."),
184
- mock.call("Attempt #2 to upload failed."),
185
- ],
186
- )