Skip to content

Conversation

@runningcode
Copy link
Contributor

@runningcode runningcode commented Dec 12, 2025

  • Removes cli, fastlane and gradle plugin versions from base properties and moves them to the respective app_info object.
  • cli and fastlane plugin versions now part of apple_app_info
  • cli and gradle plugin versions now part of android_app_info

@linear
Copy link

linear bot commented Dec 12, 2025

@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Dec 12, 2025
@runningcode runningcode changed the title feat(preprod): Add tooling versions to AppleAppInfo and AndroidAppInfo (EME-606) feat(preprod): Add tooling versions to apple_app_info and android_app_info (EME-606) Dec 12, 2025
cli and fastlane plugin versions as part of `apple_app_info`
cli and gradle plugin versions as part of `android_app_info`

This replaces those respective fields in the UpdateData object.
@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #104846      +/-   ##
===========================================
- Coverage   80.49%    80.49%   -0.01%     
===========================================
  Files        9371      9371              
  Lines      402261    402264       +3     
  Branches    25841     25841              
===========================================
  Hits       323794    323794              
- Misses      78019     78022       +3     
  Partials      448       448              


if "cli_version" in android_info:
head_artifact.cli_version = android_info["cli_version"]
updated_fields.append("cli_version")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Duplicate field entries possible when both platforms present

If a request contains both apple_app_info and android_app_info with cli_version set in each, the updated_fields list will contain "cli_version" twice. This causes the API response's updatedFields array to have duplicate entries. Additionally, the final stored value for cli_version will be from android_app_info since it's processed second, silently overwriting the Apple value with no indication to the caller.

Fix in Cursor Fix in Web

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both platforms cannot be present in a single zip.

"android_app_info": "The android_app_info field must be an object.",
"android_app_info.has_proguard_mapping": "The has_proguard_mapping field must be a boolean.",
"android_app_info.cli_version": "The cli_version field must be a string with a maximum length of 255 characters.",
"android_app_info.gradle_plugin_version": "The gradle_plugin_version field must be a string with a maximum length of 255 characters.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Nested error messages will never be displayed to users

The newly added error messages for nested fields like apple_app_info.cli_version, apple_app_info.fastlane_plugin_version, android_app_info.cli_version, and android_app_info.gradle_plugin_version will never be displayed. The error handling at lines 116-118 only uses e.path[0] (the first path element), so it constructs keys like "apple_app_info" instead of the full dotted path "apple_app_info.cli_version". When validation fails on these nested properties, users will see the parent object's error message instead of the specific field's message.

Fix in Cursor Fix in Web

@runningcode runningcode requested a review from rbro112 December 12, 2025 16:48
Copy link
Member

@rbro112 rbro112 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, thanks for this!

@runningcode runningcode merged commit 783321f into master Dec 15, 2025
68 checks passed
@runningcode runningcode deleted the no/update-artifact-api branch December 15, 2025 07:45
@github-actions github-actions bot locked and limited conversation to collaborators Dec 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants