Skip to content

Enforce 85% line coverage for each Swift SDK target - #929

Draft
markmur wants to merge 1 commit into
accelerated-checkouts-coverage-testsfrom
swift-coverage-thresholds
Draft

markmur wants to merge 1 commit into
accelerated-checkouts-coverage-testsfrom
swift-coverage-thresholds

Conversation

@markmur

@markmur markmur commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Require at least 85% line coverage independently for ShopifyCheckoutKit and ShopifyAcceleratedCheckouts in Bitrise and dev swift test coverage. Reuse the shared count-based verifier so a stronger target cannot hide a weaker one and missing coverage cannot pass.

Upload reports even when a coverage gate fails, and let the standalone Swift Embedded Checkout Protocol suite report its own outcome independently. Threshold configuration changes select the relevant iOS CI jobs.

Stack

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Bundle Size Budgets

Budget Size Limits Result
Web JavaScript (uncompressed) 34.71 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 34.7 KiB 34.7 KiB 0 B
Web JavaScript bundle gzip 10.7 KiB 10.7 KiB 0 B
Web npm package (.tgz) gzip 92.5 KiB 92.5 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 254.2 KiB 254.2 KiB 0 B
dist/custom-elements.json 50.1 KiB 50.1 KiB 0 B
dist/index.d.ts 48.0 KiB 48.0 KiB 0 B
dist/index.js 34.7 KiB 34.7 KiB 0 B
README.md 21.3 KiB 21.3 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 force-pushed the swift-coverage-thresholds branch from 7707ae9 to f7da2ee Compare October 6, 2026 21:50
@markmur
markmur force-pushed the accelerated-checkouts-coverage-tests branch from e0851c3 to ce1121e Compare October 6, 2026 21:50

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