Skip to content

ci: gate the Doc content — compile, render, and run every NodeType in the docs tree - #1483

Merged
rbuergi merged 2 commits into
mainfrom
feat/doc-content-ci-gate
Aug 14, 2026
Merged

rbuergi merged 2 commits into
mainfrom
feat/doc-content-ci-gate

Conversation

@rbuergi

@rbuergi rbuergi commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Part of the modularization program: documentation stays in-repo, so its content must be CI-built and CI-run.

What: a new doc-gate job in dotnet-test.yml (cloned from plugin-gate, minus the secret and fork guard — the content under test is this repo's own). It stages src/MeshWeaver.Documentation/Data as a Doc package root and runs mw-plugin-test from shard 0's build artifact: GitSync-import into a fresh mesh → assert CompilationStatus.Ok per NodeType → render the default area → execute Tests areas where declared. .github/doc-gate.allow is the one-way debt ratchet (listed failures tolerated, new failures red, now-passing entries must be removed).

Why: the docs tree ships 11 runtime-compiled .cs node sources and 4 NodeType configuration lambdas invisible to dotnet build; Doc/DataMesh/SocialMedia/{Post,Profile} had never been compiled by anything.

Local verification (exact CI invocation): Discovered 1 package(s) → [PASS] Doc (570 node(s), 4 type(s)) → ALL GREEN, so the allow file starts empty. Tests report skipped — no Doc NodeType declares a Tests area yet; adding those is the follow-up, and the samples/Graph/Data extension of this gate is the next PR.

Wall-clock: needs: [build] like the shards, so it runs concurrently; local run completes in well under a minute plus artifact download.

No What's New entry — CI-internal change with no user-visible effect.

🤖 Generated with Claude Code

…der src/MeshWeaver.Documentation/Data

The documentation tree ships 570 nodes including 11 runtime-compiled .cs
sources and 4 NodeType configuration lambdas that no dotnet build ever
touches (the csproj embeds Data/** and removes its .cs from compilation).
Two of the four Doc NodeTypes (DataMesh/SocialMedia Post + Profile) had
never been compiled by any build or test.

New doc-gate job, cloned from plugin-gate minus the credential and fork
guard: stages Data/ as a Doc package root (root synthesized — committing
an index.json would ship a duplicate root node in the embedded partition),
reuses shard 0's build artifact for the mw-plugin-test DLL, and runs the
same install → compile → render → Tests-area pipeline the plugins repo CI
uses, with .github/doc-gate.allow as the one-way known-debt ratchet
(empty: the tree is fully green today — verified locally, 570 nodes,
4 types, ALL GREEN).

collect-results now needs doc-gate and fails explicitly when it failed —
needs: alone is not enough under if: always().

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 14, 2026 07:45

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.

Pull request overview

Adds a new CI gate to ensure documentation content under src/MeshWeaver.Documentation/Data is actually runtime-compiled, rendered, and (when present) executed as NodeType tests—closing the gap where Roslyn-compiled doc-node sources and configuration lambdas were previously invisible to dotnet build.

Changes:

  • Introduces a doc-gate job that stages the docs tree as a Doc/ package root and runs mw-plugin-test from shard 0’s build artifact to validate compile/render/(declared) tests.
  • Wires doc-gate into the required collect-results job so a failing doc gate makes the required check go red.
  • Adds an (currently empty) .github/doc-gate.allow file for the one-way “known debt” allowlist ratchet.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/dotnet-test.yml Adds the doc-gate CI job and ensures its failure is propagated into the required “Consolidate test results” check.
.github/doc-gate.allow Introduces the allowlist file used by the doc gate (starts empty).

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

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

723 tests   723 ✅  10m 24s ⏱️
 10 suites    0 💤
 10 files      0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 3)

   11 files     11 suites   6m 1s ⏱️
1 834 tests 1 731 ✅ 103 💤 0 ❌
2 166 runs  2 063 ✅ 103 💤 0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

1 920 tests   1 728 ✅  6m 4s ⏱️
   11 suites    192 💤
   11 files        0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

1 930 tests   1 920 ✅  8m 18s ⏱️
   11 suites     10 💤
   11 files        0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

1 404 tests   1 404 ✅  7m 7s ⏱️
   11 suites      0 💤
   11 files        0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

2 601 tests   2 600 ✅  8m 27s ⏱️
   12 suites      1 💤
   12 files        0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

    66 files      66 suites   46m 25s ⏱️
10 412 tests 10 106 ✅ 306 💤 0 ❌
10 744 runs  10 438 ✅ 306 💤 0 ❌

Results for commit 806d5f2.

♻️ This comment has been updated with latest results.

@rbuergi
rbuergi merged commit 4989ada into main Aug 14, 2026
20 checks passed
@rbuergi
rbuergi deleted the feat/doc-content-ci-gate branch August 19, 2026 10:28
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