Repository navigation
Conversation
A change whose production lines are all non-executable, such as a new entry in a constant table, has nothing for the changed-line gate to measure, but the gate failed it with "no measured changed executable lines in workspace". Treat it like a documentation-only change: skip the changed-line measurement and keep the file gate. The required platform sources and the LCOV inventory are still checked first, so missing instrumentation is still rejected.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): fix(ci): pass the changed-line gate when no changed line is executable. Tiny Sweeper completed its review; deterministic results follow. Review snapshot
Completeness: Complete FeaturesNone identified with supported citations. TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
Summary
The native changed-line coverage gate fails any pull request whose production change has no executable line. A new entry in a constant table, a plain
//comment or an attribute counts as a changed line, but it has no LCOV line. So the gate measured 0 changed executable lines and failed with "no measured changed executable lines in workspace". All tests and every per-file threshold had passed. #60 hits this on macOS and Windows: its only production change is one entry in the credential-floor table.Such a change now gets the same outcome as a change with no production lines: the changed-line measurement is skipped and the per-file gate still applies. This follows 435a6d0, which made rustdoc-only changes pass the same gate.
What still raises
Nothing else is loosened.
check_changedruns these checks before the line that changed, and each still raises exactly as before:required_sources(platform)(the Windows audit sources on Windows, the Unix set elsewhere) must have LCOV lines. Otherwise: "no measured changed or executable LCOV lines: ".The per-file 90% gate (
check_files) is unchanged.Related issue
None. It unblocks #60.
API or behavior changes
CI only. The changed-line gate no longer fails a change that has no executable changed line.
Validation
Commands actually run, on our Linux CI runner at 420c93a (Python 3.12):
python .github/scripts/check-native-coverage_tests.py -v: 35 run, OK (main runs 34; the difference is the new test)check-native-coverage.py: only the new test fails, with "no measured changed executable lines in workspace"Tests
test_changes_with_no_executable_line_skip_only_changed_line_gatehas two cases:Documentation
Not needed. The comment at the change explains why the case is safe.
Checklist
#[allow(...)],#[ignore], or relaxed lints.envcontents in the diff or the description