Skip to content

node-repo-module-pack: a floor-only module bundle is built but not tested - #2690

Merged
rbuergi merged 1 commit into
mainfrom
ci/module-tests-only-when-affected
Aug 29, 2026
Merged

rbuergi merged 1 commit into
mainfrom
ci/module-tests-only-when-affected

Conversation

@rbuergi

@rbuergi rbuergi commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #2685. The always-modules floor keeps the AI engine and the collaboration module in every narrowed selection so a caller's gates can compose them — but building them is all the gates need. Running the AI engine's suite (~13 min, 1,600 tests, measured on Plugins run 33267448431) on every PR that never touched AI answers a question nobody asked. Maintainer directive (2026-08-29): "the ai test suite should be executed once. obviously. And only when we touch AI."

  • node-repo-scope.py: each selected module entry now carries test: true|false — false exactly when the entry is in the selection only because of the floor; a diff that reaches it, and every full run, keep true. Three --self-test cases added (56 green).
  • node-repo-module-pack.yml: the "Run the module's tests" step is conditioned on matrix.entry.test != false.

The Plugins half (dropping the second execution of MeshWeaver.AI.Test from its portal-hosts job) is a separate one-line PR there.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ETgRRMRVzYMg1WU4pMywed

…sted

The always-modules floor (#2685) keeps the AI engine and the collaboration
module in every narrowed selection so the caller's gates can compose them —
but building them is all the gates need. Running the AI engine's suite
(~13 min, 1,600 tests) on every PR that never touched AI answers a question
nobody asked; the maintainer's directive (2026-08-29): the AI test suite is
executed once, and only when AI is touched.

The selection now marks each entry test=true/false — false exactly when the
entry is in the selection only because of the floor; a diff that reaches it
and every full run keep test=true — and the pack job's test step is
conditioned on it. Three self-test cases pin the flag.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ETgRRMRVzYMg1WU4pMywed
Copilot AI lite review requested due to automatic review settings August 29, 2026 18:40

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

This PR refines the node-repo module packing workflow so that modules pulled into a narrowed selection only due to an “always-modules” floor are still built (so downstream gates can compose them), but their test suites are skipped unless the diff actually reaches them (or the run is a full run).

Changes:

  • Extend .github/scripts/node-repo-scope.py to emit test: true|false per selected module entry, with false reserved for “floor-only” selections.
  • Condition the “Run the module’s tests” step in .github/workflows/node-repo-module-pack.yml on matrix.entry.test != false so floor-only modules don’t run their suites on narrowed PR runs.
  • Add --self-test cases covering floor-only vs diff-reachable vs full-run behavior.

Reviewed changes

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

File Description
.github/workflows/node-repo-module-pack.yml Skips module test execution when the selection marks the module as floor-only (test == false).
.github/scripts/node-repo-scope.py Annotates selected module entries with test so workflows can distinguish floor-only modules from diff-reachable ones; adds self-tests.

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

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 3)

689 tests  ±0   497 ✅ ±0   4m 32s ⏱️ -10s
  5 suites ±0   192 💤 ±0 
  5 files   ±0     0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

1 528 tests  ±0   1 528 ✅ ±0   6m 12s ⏱️ +11s
    8 suites ±0       0 💤 ±0 
    8 files   ±0       0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

941 tests  ±0   941 ✅ ±0   5m 12s ⏱️ +5s
  6 suites ±0     0 💤 ±0 
  6 files   ±0     0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

913 tests  ±0   913 ✅ ±0   5m 19s ⏱️ -6s
  6 suites ±0     0 💤 ±0 
  6 files   ±0     0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

   10 files  ±0     10 suites  ±0   5m 39s ⏱️ +10s
3 452 tests ±0  3 452 ✅ ±0  0 💤 ±0  0 ❌ ±0 
4 086 runs  ±0  4 086 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

@github-actions

github-actions Bot commented Aug 29, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

788 tests  ±0   784 ✅ ±0   7m 28s ⏱️ -1s
  6 suites ±0     4 💤 ±0 
  6 files   ±0     0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 29, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

   41 files  ±0     41 suites  ±0   34m 26s ⏱️ +13s
8 311 tests ±0  8 115 ✅ ±0  196 💤 ±0  0 ❌ ±0 
8 945 runs  ±0  8 749 ✅ ±0  196 💤 ±0  0 ❌ ±0 

Results for commit a9abcae. ± Comparison against base commit ba8c883.

♻️ This comment has been updated with latest results.

@rbuergi
rbuergi merged commit 41e91b1 into main Aug 29, 2026
37 of 39 checks passed
@rbuergi
rbuergi deleted the ci/module-tests-only-when-affected branch October 10, 2026 13:09
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