Skip to content

Report Swift and Android test coverage - #924

Open
markmur wants to merge 1 commit into
coverage-comment-deltafrom
native-test-coverage-reports
Open

markmur wants to merge 1 commit into
coverage-comment-deltafrom
native-test-coverage-reports

Conversation

@markmur

@markmur markmur commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Extend the aggregated Coverage Report with the Android SDK, both Swift SDK targets, and the standalone Swift and Kotlin Embedded Checkout Protocol libraries. Generate downloadable native reports and add local coverage commands for the native protocol suites. Native protocol reports measure library sources, including generated wire models, and exclude test code.

Record native results in GitHub checks and notify the shared publisher when Swift reports or final Bitrise pipeline status are available. This adds coverage visibility without native thresholds.

Stack

@markmur
markmur requested a review from a team as a code owner October 6, 2026 15:33
@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) 35.81 KiB (0 B) 35 KiB soft / 50 KiB hard ➖ Above budget; no increase
React Native npm package (gzip) 115.22 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 35.8 KiB 35.8 KiB 0 B
Web JavaScript bundle gzip 11.2 KiB 11.2 KiB 0 B
Web npm package (.tgz) gzip 100.0 KiB 100.0 KiB 0 B
React Native npm package (.tgz) gzip 115.2 KiB 115.2 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/chunks/shopify-checkout.js.map 266.2 KiB 266.2 KiB 0 B
dist/custom-elements.json 54.7 KiB 54.7 KiB 0 B
dist/index.d.ts 49.5 KiB 49.5 KiB 0 B
dist/chunks/shopify-checkout.js 35.4 KiB 35.4 KiB 0 B
README.md 25.1 KiB 25.1 KiB 0 B
package.json 4.1 KiB 4.1 KiB 0 B
LICENSE 1.1 KiB 1.1 KiB 0 B
dist/shopify-checkout.js.map 850 B 850 B 0 B
dist/index.js 255 B 255 B 0 B
dist/shopify-checkout.js 156 B 156 B 0 B
dist/shopify-checkout.d.ts 33 B 33 B 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 17.7 KiB 17.7 KiB 0 B
ios/AcceleratedCheckoutButtons.swift 14.8 KiB 14.8 KiB 0 B
ios/ShopifyCheckoutKit.swift 14.8 KiB 14.8 KiB 0 B
src/index.ts 14.2 KiB 14.2 KiB 0 B
lib/commonjs/index.js 13.6 KiB 13.6 KiB 0 B
lib/module/index.js 11.6 KiB 11.6 KiB 0 B
src/index.d.ts 10.8 KiB 10.8 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/generated/ProtocolNotifications.ts 9.5 KiB 9.5 KiB 0 B
lib/module/index.js.map 9.4 KiB 9.4 KiB 0 B
lib/commonjs/index.js.map 9.2 KiB 9.2 KiB 0 B
node_modules/@shopify/checkout-kit-protocol/src/protocol_codec_runtime.ts 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
src/components/AcceleratedCheckoutButtons.tsx 7.0 KiB 7.0 KiB 0 B
lib/commonjs/components/AcceleratedCheckoutButtons.js 6.9 KiB 6.9 KiB 0 B
android/src/main/java/com/shopify/reactnative/checkoutkit/CustomCheckoutListener.java 6.2 KiB 6.2 KiB 0 B
lib/commonjs/components/AcceleratedCheckoutButtons.js.map 5.9 KiB 5.9 KiB 0 B
lib/module/components/AcceleratedCheckoutButtons.js 5.7 KiB 5.7 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 added this pull request to stack #925 October 6, 2026 15:55
@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

Failures

Caution

If you believe an assertion is flaky, please raise a ticket in the #checkout-kit-devs channel so it can be addressed.

BrowserStack artifacts require BrowserStack access. Sign in to BrowserStack App Automate before opening artifact links.

iOS — react-native

RuntimeError: BrowserStack build timed out: d3ec777289512ea330c902161a082c39b71b7872

Test Status Artifacts
— ❌ BrowserStack

iOS — swift

Test Status Artifacts
./tests/shared/checkout-hardcoded-buyer-identity ❌ BrowserStack · Video · Screenshot · Maestro commands · Maestro log

@markmur
markmur force-pushed the native-test-coverage-reports branch from 6427160 to c7f2518 Compare October 6, 2026 16:23
Base automatically changed from enforce-test-coverage-thresholds to main October 7, 2026 09:59
@markmur
markmur force-pushed the native-test-coverage-reports branch from 4145976 to 354e608 Compare October 7, 2026 09:59
@markmur
markmur force-pushed the native-test-coverage-reports branch from 354e608 to 2433adf Compare October 8, 2026 11:44
@markmur
markmur removed this pull request from stack #925 October 8, 2026 11:46
@markmur
markmur changed the base branch from main to aggregate-javascript-coverage October 8, 2026 11:47
@markmur
markmur added this pull request to stack #949 October 8, 2026 11:48
@markmur
markmur force-pushed the native-test-coverage-reports branch 5 times, most recently from 4909e1c to 8ccbbe8 Compare October 9, 2026 09:24
Base automatically changed from aggregate-javascript-coverage to main October 9, 2026 09:54
@markmur
markmur force-pushed the native-test-coverage-reports branch from 8ccbbe8 to c7b1010 Compare October 9, 2026 09:54
@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Coverage Report

Status Platform / target Lines Branches Functions Report
✅ Web 98% 86.6% 97.44% Full report
✅ React Native 95.08% 89.13% 100% Full report
✅ Embedded Checkout Protocol (TS) 94.51% 89.06% 91.67% Full report

@Shopify Shopify deleted a comment from github-actions Bot Oct 9, 2026
@Shopify Shopify deleted a comment from github-actions Bot Oct 9, 2026
@Shopify Shopify deleted a comment from github-actions Bot Oct 9, 2026
@Shopify Shopify deleted a comment from github-actions Bot Oct 9, 2026
@Shopify Shopify deleted a comment from bitrise Bot Oct 9, 2026
@Shopify Shopify deleted a comment from github-actions Bot Oct 9, 2026
@Shopify Shopify deleted a comment from bitrise Bot Oct 9, 2026
@markmur
markmur force-pushed the native-test-coverage-reports branch 2 times, most recently from 9c6382d to de2a585 Compare October 9, 2026 12:31
@markmur
markmur removed this pull request from stack #949 October 9, 2026 12:34
@markmur
markmur changed the base branch from main to coverage-comment-delta October 9, 2026 12:34
@markmur
markmur added this pull request to stack #967 October 9, 2026 12:34
@markmur
markmur force-pushed the native-test-coverage-reports branch from de2a585 to da5efa0 Compare October 9, 2026 13:07

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