Skip to content

Run the recipe harness through the standard Test target - #138

Merged
oznetmaster merged 1 commit into
mainfrom
fix/ci-harness-tests
Nov 4, 2026
Merged

oznetmaster merged 1 commit into
mainfrom
fix/ci-harness-tests

Conversation

@oznetmaster

Copy link
Copy Markdown
Contributor

Fixes #137.

The recipe’s normal Test target currently succeeds after finding zero compiled test assemblies, while CI runs the source harness in a separate workflow step. This change makes the Test target run the existing behavior and smoke harness, so the standard BuildTestAndPackage and ContinuousIntegration sequences stop before packaging or publishing when either fails.

The override replaces only the Test action, preserving its Build dependency and standard --notests criterion. The harness runs in a separate Cake process because its fixtures deliberately replace static recipe settings; those temporary settings must not affect the parent’s real package definition. A nonzero child exit throws a CakeException in the parent.

The separate CI harness step is removed to avoid running it twice. Existing report uploads and publication settings remain unchanged. The reusable recipe scripts are unchanged; the override is specific to this repository’s build.cake.

Validation on Windows with SDK 10.0.403 and pinned Cake.Tool 6.3.0:

  • Baseline Test: succeeds with zero unit test assemblies, demonstrating the gap.
  • Integrated Test: 102 behavior cases and two smoke cases pass.
  • ContinuousIntegration --nopush: all 104 cases pass, followed by real package creation and verification; publication is suppressed.
  • Injected behavior failure: parent exits 1 before Package or PublishToMyGet starts.
  • Injected smoke failure: parent exits 1 before Package or PublishToMyGet starts.
  • After restoring the harness byte-for-byte, Test again passes all 104 cases.
  • All 29 recipe scripts in the resulting NuGet package match the maintained sources. git diff --check passes.

The injected failures are validation controls only and are not included in this change. Native non-Windows integration and hosted CI have not been run for this candidate.

Prepared by Neil Colvin with assistance from OpenAI Codex.

Replace the recipe repository's compiled-test discovery with its existing
behavior and smoke harness. Propagate child failures before packaging and
publication, and remove the duplicate workflow step.

Co-authored-by: OpenAI Codex <noreply@openai.com>

@CharliePoole CharliePoole left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I like this much better than the separate step in our workflow.

@oznetmaster
oznetmaster merged commit ade6125 into main Nov 4, 2026
2 checks 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.

Integrate tests into the CI build

2 participants