Skip to content

Measure only mobile package files in SOD jobs#5266

Open
matouskozak wants to merge 1 commit into
mainfrom
matouskozak-measure-mobile-package-files
Open

Measure only mobile package files in SOD jobs#5266
matouskozak wants to merge 1 commit into
mainfrom
matouskozak-measure-mobile-package-files

Conversation

@matouskozak

Copy link
Copy Markdown
Member

Summary

  • stage only the signed APK/IPA and versions.json for mobile package-size SOD work items
  • unpack only the staged package for extracted-size measurements
  • exclude binlogs, dSYMs, mapping files, unsigned APKs, and resource-designer assemblies from app-size metrics

Related: #5265

Validation

  • xmllint --noout eng/performance/maui_scenarios_android.proj eng/performance/maui_scenarios_ios.proj
  • git diff --check origin/main...HEAD
  • internal perf build 3030421
    • all four Android Galaxy SOD-bearing jobs succeeded
    • all four iOS jobs succeeded
    • all 31 APK/IPA metrics reported exactly one file
    • Android package bytes matched the signed APK from the main comparison build exactly; iOS package drift was at most 546 bytes (0.0021%)
    • the only failed mobile job was an unrelated Pixel NoAnimation startup job, where SOD is disabled

Review

Reviewed independently with Claude Sonnet 5, Claude Opus 4.8, and Gemini 3.6 Flash; no high-confidence issues found.

Stage only the signed APK or IPA and version metadata for mobile SizeOnDisk work items so publish sidecars do not inflate package or extracted-size metrics.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9cde6db4-052e-4355-a252-05b45b2e624e
Copilot AI review requested due to automatic review settings July 24, 2026 13:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates MAUI mobile SizeOnDisk (SOD) Helix work items so that app-size metrics measure only the actual package artifacts (signed APK/IPA) plus versions.json, instead of recursively measuring an entire publish directory that may contain unrelated build outputs.

Changes:

  • Android SOD work items now stage only the signed APK and versions.json into pub (instead of copying the whole scenario directory).
  • iOS SOD work items now stage only the IPA and versions.json into pub, and unpack only the staged IPA for extracted-size measurements.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
eng/performance/maui_scenarios_ios.proj Restricts iOS SOD staging to the IPA + versions.json, and unpacks only the staged IPA for extracted-size measurement.
eng/performance/maui_scenarios_android.proj Restricts Android SOD staging to the APK + versions.json, and unpacks only the staged APK for extracted-size measurement.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants