Skip to content

Aggregate cross-platform coverage in one PR comment - #926

Open
markmur wants to merge 3 commits into
native-test-coverage-reportsfrom
aggregated-coverage-comment
Open

markmur wants to merge 3 commits into
native-test-coverage-reportsfrom
aggregated-coverage-comment

Conversation

@markmur

@markmur markmur commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Replace separate platform comments with one compact Coverage Report table showing status emojis, line coverage, branch coverage, functions/methods, and full-report links. Label the TypeScript, Swift, and Kotlin implementations as Embedded Checkout Protocol and keep each Swift SDK target visible separately.

Platform jobs save structured results in GitHub checks. A single publisher reloads current results and serializes comment updates, matching the commit, workflow, and rerun attempt. Pending, skipped, failed, and unavailable results remain visible. Bitrise notifies the publisher when Swift reports or final pipeline status are available.

The publisher runs trusted default-branch code and validates numeric results. Automatic aggregate comments begin once its workflow reaches main.

Stack

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Bundle Size Budgets

Budget Size Limits Result
Web JavaScript (uncompressed) 33.93 KiB (0 B) 35 KiB soft / 50 KiB hard ✅ Within budget
React Native npm package (gzip) 119.62 KiB (0 B) 130 KiB soft / 150 KiB hard ✅ Within budget
Android AAR package (ZIP) 408.54 KiB (0 B) 450 KiB soft / 500 KiB hard ✅ Within budget

Bundle and package size

Web bundle sizes cover shipped runtime JavaScript. Package sizes cover the full published archive, including any source maps, declarations, and documentation it contains.

Platform Measurement Compression Base Head Delta
Web JavaScript bundle Uncompressed 33.9 KiB 33.9 KiB 0 B
Web JavaScript bundle gzip 10.5 KiB 10.5 KiB 0 B
Web npm package (.tgz) gzip 91.0 KiB 91.0 KiB 0 B
React Native npm package (.tgz) gzip 119.6 KiB 119.6 KiB 0 B
Android Library package (.aar) ZIP 408.5 KiB 408.5 KiB 0 B
Web package files (uncompressed)

These are uncompressed file sizes; they do not sum to the compressed package size above.

File Base Head Delta
dist/index.js.map 251.0 KiB 251.0 KiB 0 B
dist/custom-elements.json 48.8 KiB 48.8 KiB 0 B
dist/index.d.ts 48.0 KiB 48.0 KiB 0 B
dist/index.js 33.9 KiB 33.9 KiB 0 B
README.md 20.8 KiB 20.8 KiB 0 B
package.json 3.6 KiB 3.6 KiB 0 B
LICENSE 1.1 KiB 1.1 KiB 0 B
React Native package files (uncompressed)

These are uncompressed file sizes; they do not sum to the compressed package size above.

File Base Head Delta
node_modules/@shopify/checkout-kit-protocol/src/generated/Models.ts 108.7 KiB 108.7 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/Models.d.ts 73.1 KiB 73.1 KiB 0 B
android/src/main/java/com/shopify/reactnative/checkoutkit/ShopifyCheckoutKitModule.java 16.2 KiB 16.2 KiB 0 B
ios/ShopifyCheckoutKit.swift 16.1 KiB 16.1 KiB 0 B
ios/AcceleratedCheckoutButtons.swift 14.1 KiB 14.1 KiB 0 B
src/components/AcceleratedCheckoutButtons.tsx 13.0 KiB 13.0 KiB 0 B
src/index.ts 12.7 KiB 12.7 KiB 0 B
lib/commonjs/index.js 12.4 KiB 12.4 KiB 0 B
lib/commonjs/components/AcceleratedCheckoutButtons.js 11.4 KiB 11.4 KiB 0 B
src/index.d.ts 11.3 KiB 11.3 KiB 0 B
lib/commonjs/components/AcceleratedCheckoutButtons.js.map 10.4 KiB 10.4 KiB 0 B
lib/module/index.js 10.4 KiB 10.4 KiB 0 B
lib/module/components/AcceleratedCheckoutButtons.js 10.2 KiB 10.2 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolNotifications.ts 9.5 KiB 9.5 KiB 0 B
lib/module/components/AcceleratedCheckoutButtons.js.map 9.1 KiB 9.1 KiB 0 B
lib/module/index.js.map 8.1 KiB 8.1 KiB 0 B
src/present-dispatcher.ts 8.0 KiB 8.0 KiB 0 B
lib/commonjs/index.js.map 7.9 KiB 7.9 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolRenameMap.ts 7.8 KiB 7.8 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolNotifications.d.ts 7.6 KiB 7.6 KiB 0 B
…and 117 smaller files
Android package files (uncompressed)

These are uncompressed file sizes; they do not sum to the compressed package size above.

File Base Head Delta
classes.jar 435.2 KiB 435.2 KiB 0 B
res/layout/checkout_view_content.xml 2.6 KiB 2.6 KiB 0 B
res/layout/checkout_sheet_content.xml 2.0 KiB 2.0 KiB 0 B
res/values/values.xml 1.3 KiB 1.3 KiB 0 B
R.txt 1.2 KiB 1.2 KiB 0 B
AndroidManifest.xml 922 B 922 B 0 B
proguard.txt 798 B 798 B 0 B
res/drawable/close.xml 431 B 431 B 0 B
res/menu/checkout_menu.xml 354 B 354 B 0 B
META-INF/com/android/build/gradle/aar-metadata.properties 157 B 157 B 0 B
How sizes are measured

Measured from the PR base SHA and PR head SHA. Web bundle rows sum shipped .js, .mjs, and .cjs files under dist/, excluding source maps and declarations. The gzip bundle size sums files compressed individually with gzip -n -9. npm package sizes are gzip-compressed .tgz archives; Android AAR sizes are ZIP archives. Package sizes are not final app binary sizes.

@markmur markmur self-assigned this Oct 6, 2026
@markmur

markmur commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor Author

Coverage Report

Preview rendered from this PR’s GitHub Actions and Bitrise coverage results.

Status Platform / target Lines Branches Functions / Methods Report
✅ Web 98.38% 87.4% 98.02% Full report
✅ React Native 91.49% 87.3% 100% Full report
✅ Android 92.96% 77.82% 88.75% Full report
✅ Swift · ShopifyCheckoutKit 91.43% — — Full report
✅ Swift · ShopifyAcceleratedCheckouts 77.31% — — Full report
✅ Embedded Checkout Protocol (TypeScript) 94.05% 89.17% 90.91% Full report
✅ Embedded Checkout Protocol (Kotlin) 47.24% 41.94% 31.94% Full report
✅ Embedded Checkout Protocol (Swift) 22.56% — 12.19% Full report

@markmur
markmur added this pull request to stack #925 October 6, 2026 21:32
@bitrise

bitrise Bot commented Oct 6, 2026

Copy link
Copy Markdown

Bitrise builds

E2E · iOS CI

Install this build

Open Tophat, select your target device, then click Install. Links open on the Mac running Tophat.

SDK Install
React Native Install with Tophat
Swift Install with Tophat
Kotlin Install with Tophat

Checkout Kit E2E results

Status Tags Target Platform OS version tag Device
✅ launch, checkout-presentation, checkout-completion, buyer-identity react-native ios latest iPhone 15
iOS 27 Beta
✅ launch, checkout-presentation, checkout-completion, buyer-identity react-native android latest Google Pixel 9
Android 17.0
✅ launch, checkout-presentation, checkout-completion, buyer-identity, preload kotlin android latest Google Pixel 9
Android 17.0
✅ launch, checkout-presentation, checkout-completion, buyer-identity, preload swift ios latest iPhone 15
iOS 27 Beta

This branch has not been deployed

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

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant