Implement App size metrics actions#364
Merged
AliSoftware merged 14 commits intotrunkfrom May 31, 2022
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This work is part of the App Metrics project [ref: paaHJt-37V-p2] and implements the fastlane actions necessary to send iOS and Android app size metrics [ref: paaHJt-3od-p2#comment-6098] to the App Metrics server.
What
Implements the actions to send iOS and Android App Size metrics to our future metrics API/system
How
AppSizeMetricsHelperclass — and its unit tests — to help us build a the payload for the metrics we want to sendios_send_app_size_metricsaction which can take an.ipa, and optionally anapp-thinning.plist(auto-detected if present next to the.ipa), and generates/sends the app size metrics for it for all device variantsandroid_send_app_size_metricsaction which can take an.aaband generates/sends the app size metrics for it and all the.apksplits built from it usingbundletoolEach of those two new actions can take an
api_urlwhich points to:http://orhttps://endpoint (typically once the Metrics server is up and running, it will be the URL to its/api/grouped-metricsendpoint described herefile://URL (in which case theapi_tokenis not required) in order to write the payload to disk — which can be useful to either debug the payload, or store it as a CI artefact, etc.To Test
Fastfilewhich would build the.ipausingthinning: '<thin-for-all-variants>'andmethod: 'enterprise'as part ofgym'sexport_options…file://URL to write the payload to disk (since we don't yet have a Metrics system hosted on a stable URL)Fastfilewhich would build the.aabbundle…file://URL to write the payload to disk (since we don't yet have a Metrics system hosted on a stable URL)What's Next
Since it was created, that PR was since followed by #365 which built on top of it to add support for Universal APKs.
If you already started to review this PR — especially the parts about the Android action — I suggest to review and land this PR first and review the changes to the Android action afterwards. If you haven't started the review of this PR yet, especially haven't started to look at the Android action and its specs, feel free to merge 365 in this PR first (to merge the code changes applied to the Android action) to review the Android action and specs code all in one go.