ci: re-enable cargo-llvm-cov coverage on PR/push (#1107)#3527
Merged
Conversation
Restores `.github/workflows/coverage.yml` to run on push to master and on pull requests, replacing the workflow_dispatch-only gate applied in #3460 to work around the nightly llvm-cov 22.1 SIGSEGV. Pins the toolchain to nightly-2026-04-20, the last nightly known to work before the LLVM coverage mapping regression. The job remains informational (continue-on-error) so it cannot block master while coverage climbs from the current ~84% baseline toward the CLAUDE.md target of >= 95% line coverage. Step summary now records target vs gate, line and branch percentages, the gate outcome, and per-crate breakdowns. LCOV (line + branch) and HTML reports are uploaded as artifacts with 30-day retention.
oferchen
added a commit
that referenced
this pull request
May 5, 2026
Restores `.github/workflows/coverage.yml` to run on push to master and on pull requests, replacing the workflow_dispatch-only gate applied in #3460 to work around the nightly llvm-cov 22.1 SIGSEGV. Pins the toolchain to nightly-2026-04-20, the last nightly known to work before the LLVM coverage mapping regression. The job remains informational (continue-on-error) so it cannot block master while coverage climbs from the current ~84% baseline toward the <internal-tool-doc> target of >= 95% line coverage. Step summary now records target vs gate, line and branch percentages, the gate outcome, and per-crate breakdowns. LCOV (line + branch) and HTML reports are uploaded as artifacts with 30-day retention.
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.
Closes #1107.
Summary
.github/workflows/coverage.ymlonpushto master and onpull_request(it was restricted toworkflow_dispatchin chore: disable coverage workflow on push/pull_request #3460 due to a deterministic SIGSEGV in nightly llvm-cov 22.1).nightly-2026-04-20, the last nightly known to work before thellvm::coverage::CoverageMapping::getInstantiationGroupsregression. The pin is documented inline so it can be advanced once a known-good newer nightly is identified.continue-on-error: trueso coverage stays informational and never blocks master, per the guidance to avoid breaking required checks while we climb toward the >= 95% line-coverage target.--fail-under-lines 84gate (Enforce coverage thresholds in CI #1652, Use cargo llvm-cov to enforce coverage thresholds #1691) so we record where we are without forcing a regression-free CI day on day one.$GITHUB_STEP_SUMMARYtable: now records the target, the current informational gate, line and branch percentages, the gate outcome, and per-crate breakdowns. LCOV (line + branch) and HTML artifacts continue to be uploaded with 30-day retention.Audit findings (Step 1)
.github/workflows/coverage.ymlalready existed (added in ci: add cargo-llvm-cov coverage workflow #3012, threshold-enforced in Enforce coverage thresholds in CI #1652 / Use cargo llvm-cov to enforce coverage thresholds #1691, switched to nightly in fix(ci): use nightly toolchain for branch coverage #3382) but PR chore: disable coverage workflow on push/pull_request #3460 restricted it toworkflow_dispatchonly on 2026-04-30. It was therefore not running on PRs or master.cargo llvm-covor measures line coverage.Notes
-Z coverage-options=branch); line coverage is measured at the same time.continue-on-errorand tighten--fail-under-linesto 95 to satisfy beta-trigger criterion 3.2.Test plan
llvm-covstep completes without the SIGSEGV that motivated chore: disable coverage workflow on push/pull_request #3460.lcov-report,lcov-branch-report, andcoverage-htmlartifacts are uploaded.