Repository navigation
ci(e2e-coverage): gate region coverage per source file and ratchet the aggregate to 96 - #1315
Merged
Merged
Conversation
…e aggregate to 96 The e2e-coverage job gated browser coverage on two aggregates over all of src/**, so one region in twenty could be uncovered anywhere and nothing required that slack to be spread out: a single component could fall to nothing while the job stayed green. The unit lane already closed the same hole with --check-source-file-regions, and #1233 taught the e2e reporter the flag, but the workflow never passed it. Pass --check-source-file-regions 66 in the render step, and ratchet --check-source-regions from 95 to 96. Both numbers come from a full local coverage run at main (344 passed, 202 scripts captured, none uncaptured): 97.26% aggregate (639/657) and PeopleFreshness at 66.67% (2/3) as the lowest file, whose one zero is in the documented union residual (#1256), so 66 is bound by the data rather than chosen as a target. The aggregate stops at 96 because 97 would leave one region between floor and ceiling. Coupled edits: tests/e2e-coverage-gate.test.mjs records the new floors and measurement and gains lowered/deleted fixtures for the per-file flag; tests/workflow-scripts.test.mjs matches both literals; the CONTRIBUTING.md snippet carries the same flags CI enforces, as its prose promises. Closes #1232 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Bob Killen <bkillen@linuxfoundation.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Finding (#1232)
The
e2e-coveragejob gated browser coverage on two aggregates over all ofsrc/**, so roughly one region in twenty could be uncovered anywhere and nothing required that slack to be spread out: a single component could fall to nothing while the job stayed green. The unit lane already closed the same hole with--check-source-file-regions; #1233 taught the e2e reporter the flag, but the workflow never passed it (Half 2 of the issue, which needed workflow-write permission).What changes
.github/workflows/ci.ymlrender step--check-source-regions 95--check-source-regions 96, plus--check-source-file-regions 66tests/e2e-coverage-gate.test.mjsFLOORStests/workflow-scripts.test.mjs9596and the per-file literalCONTRIBUTING.mdsnippetWhere the numbers come from
A full local coverage run at
main(via the non-root sysroot in #1311): 344 passed, sealedpassed,capturedScripts: 202,uncapturedScripts: [].Lowest files:
PeopleFreshness/index.js66.67% (2/3, zero at :22),DirectoryFreshness.js69.23% (9/13),GroupLinkStatus/index.js83.33%,RadarReports/index.js85.71%. PeopleFreshness's one zero is in the documented union residual (#1256), so 66 is bound by the data, not chosen as a target, matching the ceiling the gate test already named. The aggregate stops at 96 rather than the sanctioned 97 because 97 would leave one region between floor and ceiling (0.97 × 657 = 637.3 vs 639 covered); 96 leaves eight.Verification
E2E coverage: ok, exit 0.--check-source-file-regions 70fails naming both low files (DirectoryFreshness.js 69.23%,PeopleFreshness/index.js 66.67%), so the floor is live and reports by file name.node --testone2e-coverage-gate,workflow-scripts,contributing-e2e-setup,ci-supply-chain: 46 pass. With theci.ymlhunk reverted, 7 fail.check:format,check:spelling: clean. The PR's owne2e-coveragejob is the final confirmation against CI's chromium.Closes #1232