Skip to content

Aggregate existing JavaScript coverage reports into one PR comment - #948

Open
markmur wants to merge 2 commits into
mainfrom
aggregate-javascript-coverage
Open

markmur wants to merge 2 commits into
mainfrom
aggregate-javascript-coverage

Conversation

@markmur

@markmur markmur commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Replace the separate Web, React Native JavaScript, and Embedded Checkout Protocol (TS) comments with one compact Coverage Report table. Show status emojis, coverage percentages, and full-report links using the existing JavaScript test coverage.

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.

The publisher runs trusted default-branch code and validates numeric results. Automatic aggregate comments begin once its workflow reaches main. Native coverage collection and reporting are added separately in #924.

Continues #926, which GitHub marked merged into its previous stack base during reordering. The aggregation change has not landed on main.

Stack

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Bundle Size Budgets

Budget Size Limits Result
— — — ➖ No configured budgets affected

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
- - - - - -
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 added this pull request to stack #949 October 8, 2026 11:48
@markmur markmur self-assigned this Oct 8, 2026
@markmur
markmur force-pushed the aggregate-javascript-coverage branch from 6c789c9 to 3081ce2 Compare October 8, 2026 11:59
@markmur
markmur force-pushed the aggregate-javascript-coverage branch from 3081ce2 to c2ec679 Compare October 8, 2026 17:06
@bitrise

bitrise Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Bitrise builds

E2E · iOS CI

Checkout Kit E2E results

No native E2E runs were selected for this change.

@markmur

markmur commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Coverage Report

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

Status Platform / target Lines Branches Functions Report
✅ Web 98.02% 86.64% 97.2% Full report
✅ React Native 91.49% 87.3% 100% Full report
✅ Embedded Checkout Protocol (TS) 94.05% 89.17% 90.91% Full report

[platform.id, platformResult(platform, snapshot, jobs, pr, repo, core)]));
const body = render(results);
const comments = await github.paginate(github.rest.issues.listComments, {...repo, issue_number: pr.number, per_page: 100});
const existing = comments.find(isComment);

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.

I think we could skip the comment for changes that don't touch JS via something like

const existing = comments.find(isComment);

// Don't open a comment until we know at least one JS platform is in scope.
// Existing comments still update so stale numbers get replaced.
const plan = latest(jobs.filter((item) => item.name === "Detect Changed Areas"));
const inScope = Object.values(results).some((result) => result.state !== "skipped");
if (!existing && (plan?.status !== "completed" || !inScope)) return;

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.

2 participants