Skip to content

ci: run the three test suites that never ran - #578

Merged
jeremydmiller merged 1 commit into
mainfrom
chore/ci-cover-missing-suites
Jul 29, 2026
Merged

ci: run the three test suites that never ran#578
jeremydmiller merged 1 commit into
mainfrom
chore/ci-cover-missing-suites

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Stacked on #577 (base is chore/xunit-v3, will retarget to main once that merges).

The gap

JasperFx.SourceGenerator.Tests (19), JasperFx.Events.SourceGenerator.Tests (26) and JasperFx.Aspire.Tests (51) are all in the solution — so compile built them and a compile break would fail CI — but they were in no Nuke test target and no workflow step. 96 tests built and never executed. A source generator could emit wrong code, or the Aspire integration could regress, without anything going red.

Found while baselining test counts for the xunit 3 migration.

Changes

  • TestSourceGenerators — runs both generator suites
  • TestAspire — runs the Aspire suite
  • Both hang off the aggregate Test target
  • One workflow step each, using the existing if: ${{ success() || failure() }} pattern so a single failure doesn't mask the remaining suites

Framework coverage follows each project rather than the repo default: the two generator suites pin net9.0 to match the netstandard2.0 generators they host, and the Aspire suite is net10.0-only like JasperFx.Aspire itself.

Verification

./build.sh test now runs 11 targets; all green. All 96 previously-dark tests pass.

🤖 Generated with Claude Code

@jeremydmiller
jeremydmiller changed the base branch from chore/xunit-v3 to main July 29, 2026 11:23
JasperFx.SourceGenerator.Tests (19), JasperFx.Events.SourceGenerator.Tests (26)
and JasperFx.Aspire.Tests (51) are all in the solution, so `compile` built them
and a compile break would fail CI -- but they were in no Nuke test target and no
workflow step, so 96 tests never actually executed. A source generator could
emit wrong code, or the Aspire integration could regress, without anything
going red.

Adds TestSourceGenerators (both generator suites) and TestAspire, hangs them off
the aggregate Test target, and gives each a workflow step using the same
`if: success() || failure()` pattern as the existing suites so one failure does
not mask the rest.

Framework coverage follows each project rather than the repo default: the two
generator test suites pin net9.0 to match the netstandard2.0 generators they
host, and the Aspire suite is net10.0-only like JasperFx.Aspire itself.

All 96 pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jeremydmiller
jeremydmiller force-pushed the chore/ci-cover-missing-suites branch from 2a0e0b3 to e7d9250 Compare July 29, 2026 11:23
@jeremydmiller
jeremydmiller merged commit 089b970 into main Jul 29, 2026
1 check passed
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.

1 participant