Skip to content

test: unblock main after the template upgrade (test-assembly coverage gate, actionlint label) - #343

Merged
Chris-Wolfgang merged 1 commit into
mainfrom
fix/main-gate-after-upgrade
Sep 18, 2026
Merged

Chris-Wolfgang merged 1 commit into
mainfrom
fix/main-gate-after-upgrade

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

main fails two checks since the template upgrade (#341) — first seen on the docs-only #342.

Stage 1 coverage gate — coverlet.runsettings now instruments the test assembly:

  • FuzzTests 0%: never executed by the PR gate (--filter "Category!=Fuzz"), only by the scheduled fuzz.yaml. [ExcludeFromCodeCoverage] with that reason; the same properties are measured through PropertyTests.
  • DocExampleCompilationTests / ReadmeExampleCompilationTests 87%: the "snippet failed to compile" message builder (errors + indented snippet + hint) only runs on failure. Extracted into one shared CompileFailureMessage.Format and covered by CompileFailureMessageTests with a deliberately broken snippet. The README test's null guard is a single executed line now (CA1062 still satisfied). Both new files carry the same #if NET8_0_OR_GREATER guard as their siblings (Roslyn is net8+ only in this project).

actionlint — 1.7.7 predates the windows-11-arm hosted-runner label used by cross-platform-differential.yaml; bumped to 1.7.12 (Chris-Wolfgang/repo-template#576 carries the same bump). Workflow file → needs the bypass.

Local gate: src 100%, test assembly 97.9%, no class under 90; Release build of the whole solution clean; 149/149 green. Test-only + workflow pin; no src/ change. Unblocks #342.

🤖 Generated with Claude Code

…est assembly; actionlint label)

The coverage gate now instruments the test assembly (template
coverlet.runsettings) and three classes fell under 90%:

- FuzzTests 0%: never run by the PR gate (--filter Category!=Fuzz), only by
  fuzz.yaml. [ExcludeFromCodeCoverage] with that reason; the same properties
  are measured through PropertyTests.
- DocExampleCompilationTests / ReadmeExampleCompilationTests 87%: the
  failure-message builder (errors + indented snippet + hint) only runs when
  a snippet does not compile. Extracted into CompileFailureMessage.Format,
  shared by both, and covered by CompileFailureMessageTests with a
  deliberately broken snippet. The README test's null guard is one executed
  line now (CA1062 still satisfied).

actions-audit.yaml: actionlint 1.7.7 -> 1.7.12 - 1.7.7 predates the
windows-11-arm hosted-runner label used by cross-platform-differential.yaml
(repo-template#576 carries the same bump).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 18, 2026 02:23

Copilot AI left a comment

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.

🟢 Approval recommended

No unresolved blocking issues were identified.

Pull request overview

This pull request unblocks CI after the template upgrade by addressing coverage gates and updating actionlint for the hosted-runner label.

Changes:

  • Excludes scheduled-only fuzz tests from PR coverage.
  • Extracts and tests shared compilation-failure formatting.
  • Upgrades actionlint to v1.7.12.
File summaries
File Description
tests/Wolfgang.TryPattern.Tests.Unit/ReadmeExampleCompilationTests.cs Uses shared failure formatting and simplified null validation.
tests/Wolfgang.TryPattern.Tests.Unit/FuzzTests.cs Excludes scheduled fuzz tests from coverage.
tests/Wolfgang.TryPattern.Tests.Unit/DocExampleCompilationTests.cs Uses shared failure formatting.
tests/Wolfgang.TryPattern.Tests.Unit/CompileFailureMessageTests.cs Tests compilation-failure formatting.
tests/Wolfgang.TryPattern.Tests.Unit/CompileFailureMessage.cs Provides shared diagnostic formatting.
.github/workflows/actions-audit.yaml Updates the actionlint version.
Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Chris-Wolfgang
Chris-Wolfgang merged commit 1d1ccdb into main Sep 18, 2026
22 of 23 checks passed
@Chris-Wolfgang
Chris-Wolfgang deleted the fix/main-gate-after-upgrade branch September 18, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants