Skip to content

ci(gates): the compose script's refusals reach the log, and its ref is an input — job_workflow_sha is empty inside a called reusable - #2713

Merged
rbuergi merged 1 commit into
mainfrom
ci/compose-seal-errors-visible
Aug 30, 2026
Merged

rbuergi merged 1 commit into
mainfrom
ci/compose-seal-errors-visible

Conversation

@rbuergi

@rbuergi rbuergi commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #2707, from its first satellite run (Manufacturing run 33283588300, attempt 2):

  1. Refusals were invisible. compose-sealed-modules.sh returned each upstream's module list on stdout and the caller captured it into a file — so the ::error lines it printed on a 404 seal / missing module set went into the list file, and the gate showed only Process completed with exit code 1. The list is now written to a file argument; every message stays on stdout. Verified with a fake curl answering 404: the log now carries both ::error lines naming the identity and the republish.
  2. github.job_workflow_sha is empty inside a reusable called from another repo (measured: JOB_WORKFLOW_SHA: blank in the step env), so the script fetch read main while claiming a pin. node-repo-gate.yml and node-repo-compile-check.yml gain platform-ref (default main; pin beside the uses: sha for reproducibility), assert it non-empty, and refuse a fetched file that is not a script.

No caller input changes required (default main). check-workflow-shell.py: 0 live; bash -n clean.

🤖 Generated with Claude Code

…s an input — job_workflow_sha is empty inside a called reusable

Two defects from #2707, both found on the first satellite run (Manufacturing 33283588300):
- compose-sealed-modules.sh returned each upstream's module list on stdout and the caller
  captured it, so every ::error the function printed (a 404 seal, a missing module set)
  vanished into the list file and the gate showed nothing but 'exit code 1'. The list now
  goes to a file; every message stays on stdout.
- github.job_workflow_sha is EMPTY in a reusable called from another repository, so the
  script fetch silently read main while claiming a pin. The gate and compile-check take a
  platform-ref input (default main; pin it beside the uses: sha), assert it non-empty, and
  refuse a fetched file that is not a script.

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

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 improves the reliability and diagnosability of the node-repo CI gate/compile-check workflows when composing sealed module bundles from upstream publications, especially when the workflow is invoked as a reusable from another repository.

Changes:

  • Add a platform-ref workflow input (default main) to explicitly control which Systemorph/MeshWeaver ref is used when fetching .github/scripts/compose-sealed-modules.sh, avoiding reliance on github.job_workflow_sha (empty in cross-repo reusable runs).
  • Harden the script fetch in both gate and compile-check: assert platform-ref is non-empty, fail with a clear ::error:: on fetch failure, and sanity-check the fetched file looks like a script (#!).
  • Fix compose-sealed-modules.sh so upstream module lists are written to a provided list file (not stdout), preventing ::error:: output from being swallowed when callers capture stdout.

Reviewed changes

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

File Description
.github/workflows/node-repo-gate.yml Introduces platform-ref input and uses it to fetch/validate compose-sealed-modules.sh, ensuring failures are explicit and ref selection is reproducible.
.github/workflows/node-repo-compile-check.yml Mirrors the same platform-ref input and fetch/validation hardening for compile-check module composition.
.github/scripts/compose-sealed-modules.sh Writes upstream module lists to a file argument so refusal/error output remains visible in CI logs.

💡 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)

693 tests  ±0   501 ✅ ±0   4m 49s ⏱️ -12s
  5 suites ±0   192 💤 ±0 
  5 files   ±0     0 ❌ ±0 

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

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

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

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

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

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

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

   10 files  ±0     10 suites  ±0   5m 40s ⏱️ -16s
3 463 tests ±0  3 463 ✅ ±0  0 💤 ±0  0 ❌ ±0 
4 101 runs  ±0  4 101 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

@github-actions

github-actions Bot commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

818 tests  ±0   814 ✅ +1   7m 32s ⏱️ +6s
  6 suites ±0     4 💤 ±0 
  6 files   ±0     0 ❌  - 1 

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

   41 files  ±0     41 suites  ±0   35m 7s ⏱️ +24s
8 356 tests ±0  8 160 ✅ +1  196 💤 ±0  0 ❌  - 1 
8 994 runs  ±0  8 798 ✅ +1  196 💤 ±0  0 ❌  - 1 

Results for commit 05cff7f. ± Comparison against base commit 0f96f97.

♻️ This comment has been updated with latest results.

@rbuergi
rbuergi merged commit 94d18f9 into main Aug 30, 2026
37 of 39 checks passed
@rbuergi
rbuergi deleted the ci/compose-seal-errors-visible branch August 30, 2026 01:14
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