Skip to content

ci: extend informational Vitest coverage to query retry logic (#651) - #665

Merged
Fooftilly merged 1 commit into
masterfrom
ci/651-vitest-coverage-query-retry
Oct 14, 2026
Merged

Fooftilly merged 1 commit into
masterfrom
ci/651-vitest-coverage-query-retry

Conversation

@Fooftilly

@Fooftilly Fooftilly commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Summary

Incremental B1 expansion under #651, building on merged Vitest coverage pilot #664.

Extend the existing .github/workflows/vitest-coverage-pilot.yml job to also measure frontend-app/src/query/retry.ts with its existing retry.test.ts, alongside src/lifecycle/tab-leave.ts and tab-leave.test.ts.

retry.ts controls whether safe-GET API requests retry after network errors, 502/503/504 responses, aborts, and exhausted attempts, plus backoff timing. It is a small correctness-sensitive module whose branch coverage is meaningful.

Deliberately narrow scope

  • One existing workflow file, no product/runtime/frontend test changes and no new jobs or dependencies. Reuse the already pinned @vitest/coverage-v8@5.0.2 and existing npm ci --ignore-scripts.
  • Run only two existing Vitest test files in one process and collect line + branch data from only two source files.
  • Extend the job summary to show per-module numerators/denominators and percentages, plus a clearly labeled two-module aggregate, not a misleading repo-wide percentage.
  • Fail the job if either requested source file is absent, another source file appears, either metric has a zero denominator, or totals do not reconcile. A low percentage never fails it.
  • Trigger the pilot when the workflow or either source/test module changes, plus the existing config/manifest triggers.
  • No coverage thresholds, artifacts, external uploads, new permissions, required-check renames, or changes to the ordinary Vue / PRKS test gates.

The existing job ID/name remains stable even though it now reports on two modules, to avoid changing check identities; the GitHub Actions summary explicitly names both scopes.

First verified baseline

Vitest coverage run 38581099227 succeeded on head 406d073 with 15/15 tests passed.

Measured source module Lines Branches
src/lifecycle/tab-leave.ts 77/94 (81.9%) 53/84 (63.1%)
src/query/retry.ts 7/7 (100.0%) 6/6 (100.0%)
Two-module aggregate only 84/101 (83.2%) 59/90 (65.5%)

This is strictly a two-module measurement, not global frontend coverage. See other CI and review results before merging.

Acceptance checks

  • CI must confirm the grouped inclusion glob measures exactly src/lifecycle/tab-leave.ts and src/query/retry.ts. Inspect the job-summary per-module line/branch totals, not only overall success.
  • The 12 pre-existing tab-leave tests and 3 pre-existing retry tests must pass.
  • Verify regular Static Analysis (including Vue), PRKS Test Gate, actionlint, zizmor, CodeQL, and other triggered checks; check any reviewer findings.
  • Previous ci: pilot informational Vitest coverage for tab-leave decisions (#651) #664 baseline for tab-leave.ts: 77/94 lines (81.9%) and 53/84 branches (63.1%); preserve or investigate any difference. Record observed retry.ts baseline from CI before merge.

Base: master@befacaad75bf6bb00fc72da6a5f4b818cf3b1b19.

Related: #651 (B1), #662, #664. No merge without maintainer approval.

@sourcery-ai

This comment has been minimized.

@Fooftilly
Fooftilly temporarily deployed to project-automation October 14, 2026 14:30 — with GitHub Actions Inactive
@coderabbitai

This comment has been minimized.

@chatgpt-codex-connector

This comment has been minimized.

@Fooftilly Fooftilly moved this to Review in PRKS Roadmap Oct 14, 2026
@Fooftilly
Fooftilly merged commit 6045040 into master Oct 14, 2026
27 checks passed
@Fooftilly
Fooftilly deleted the ci/651-vitest-coverage-query-retry branch October 14, 2026 14:41
@github-project-automation github-project-automation Bot moved this from Review to Done in PRKS Roadmap Oct 14, 2026

This branch was previously deployed

1 inactive deployment
project-automation — 406d0732 Deployed Oct 14, 2026 by Fooftilly via sync #468
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant