Skip to content

ci(windows): add native PowerShell smoke coverage for contributor commands#91610

Open
aniruddhaadak80 wants to merge 3 commits into
openclaw:mainfrom
aniruddhaadak80:fix/powershell-smoke-ci
Open

ci(windows): add native PowerShell smoke coverage for contributor commands#91610
aniruddhaadak80 wants to merge 3 commits into
openclaw:mainfrom
aniruddhaadak80:fix/powershell-smoke-ci

Conversation

@aniruddhaadak80

@aniruddhaadak80 aniruddhaadak80 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Closes #40922

What Problem This Solves

The Windows CI lane currently lacks a native PowerShell smoke check for pnpm check:docs and pnpm build:strict-smoke. This leaves a gap where issues specific to the Windows command line limit or PowerShell semantics might slip into main undetected. For example, scripts/format-docs.mjs was failing on Windows because the command line length exceeded the 8191-character limit.

Why This Change Was Made

By running these smoke checks natively in PowerShell on the Windows runner, we can catch Windows-specific failures before they land in main. We also chain them with && to ensure that failure in one command immediately halts the step, avoiding false positives.

User Impact

Improves CI coverage and catches Windows-specific command line failures early.

Evidence

  • Adjusted DOCS_FORMAT_MAX_COMMAND_LINE_BYTES in scripts/format-docs.mjs to 7000 for win32 to respect the Windows cmd.exe 8191-character limit, fixing the "The command line is too long" error.
  • Ran node --import tsx scripts/format-docs.mjs locally on Windows and verified it succeeds:
$ node --import tsx scripts/format-docs.mjs
Docs formatting clean (669 files).
  • Chained the smoke checks in .github/workflows/ci.yml using &&.

Copilot AI review requested due to automatic review settings June 9, 2026 04:24
@openclaw-barnacle openclaw-barnacle Bot added size: XS triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 9, 2026

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

Note

Copilot was unable to run its full agentic suite in this review.

Adds a PowerShell-based smoke check step to the CI workflow to validate key pnpm scripts run successfully under pwsh.

Changes:

  • Add a new CI step that runs pnpm check:docs and pnpm build:strict-smoke using shell: pwsh.

Comment thread .github/workflows/ci.yml Outdated
Comment on lines +1578 to +1582
- name: Native PowerShell smoke checks
shell: pwsh
run: |
pnpm check:docs
pnpm build:strict-smoke
Comment thread .github/workflows/ci.yml
;;
esac

- name: Native PowerShell smoke checks
@clawsweeper

clawsweeper Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed July 5, 2026, 9:24 AM ET / 13:24 UTC.

Summary
The branch adds a Windows pwsh smoke step running pnpm check:docs && pnpm build:strict-smoke and lowers the docs formatter command-line budget on win32.

PR surface: Config +5, Other 0. Total +5 across 2 files.

Reproducibility: yes. The exact current-head PR CI job reaches the added Native PowerShell smoke checks step, passes pnpm check:docs, and then fails in pnpm build:strict-smoke with a Node heap OOM.

Review metrics: 2 noteworthy metrics.

  • Windows smoke commands: 2 added. Both commands would run on the narrower Windows runner, so passing proof and command-set scope matter before merge.
  • Closing references: 1 mismatched. The PR body closes an unrelated localization issue instead of the canonical Windows smoke issue.

Root-cause cluster
Relationship: fixed_by_candidate
Canonical: #44291
Summary: This PR is the active implementation candidate for the native PowerShell contributor-command smoke-coverage issue, but the current head still fails and does not safely close the canonical issue.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🧂 unranked krab
Patch quality: 🧂 unranked krab
Result: blocked until stronger real behavior proof is added.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: The PR body shows partial local format-docs output, but the full added Windows PowerShell smoke fails in live PR CI, so after-fix real behavior proof is not sufficient. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Risk before merge

Maintainer options:

  1. Prove the full smoke before merge (recommended)
    Fix the Windows build:strict-smoke OOM or adjust the smoke so the exact Windows CI lane passes with the intended commands.
  2. Accept a narrower first step
    Maintainers can intentionally land only passing PowerShell coverage now and leave build-smoke coverage to the canonical follow-up.
  3. Close or pause this branch
    If the CI cost or command set is not worth adopting, close or pause this PR while keeping the canonical issue as the planning target.

Next step before merge

  • [P1] Needs human PR review because the remaining blocker is the maintainer-approved Windows smoke command set plus successful external proof, not a narrow ClawSweeper repair.

Maintainer decision needed

  • Question: Should the Windows PowerShell smoke lane include pnpm build:strict-smoke now, or should this PR narrow to commands that already pass until the build smoke is made Windows-safe?
  • Rationale: The direction fits the canonical issue, but current CI proves one selected command is not safe in the target lane and the command set changes recurring Windows runner work.
  • Likely owner: vincentkoc — This person has the strongest recent overlap across CI workflow stabilization and PowerShell-safe docs tooling.
  • Options:
    • Fix build smoke before merge (recommended): Keep the requested command set, but merge only after pnpm build:strict-smoke passes in Windows pwsh and the PR includes redacted successful proof.
    • Narrow the first smoke: Remove pnpm build:strict-smoke from this PR and land only the native PowerShell commands that already pass if maintainers accept the narrower initial coverage.
    • Pause CI scope: Keep the canonical issue open and pause this PR until runner budget and Windows build-smoke ownership are settled.

Security
Cleared: No concrete security or supply-chain issue was found; the diff adds no new actions, permissions, dependencies, secrets, artifact downloads, or third-party executable refs.

Review findings

  • [P1] Do not smoke a Windows build command that still OOMs — .github/workflows/ci.yml:1994
Review details

Best possible solution:

Land a focused Windows pwsh smoke only after the selected commands pass on Windows, the PR closes the canonical issue, and maintainers accept the runner scope; otherwise narrow the smoke to already-proven commands.

Do we have a high-confidence way to reproduce the issue?

Yes. The exact current-head PR CI job reaches the added Native PowerShell smoke checks step, passes pnpm check:docs, and then fails in pnpm build:strict-smoke with a Node heap OOM.

Is this the best way to solve the issue?

No. Windows CI is the right surface, but enabling a smoke command that fails in the target lane is not the best fix; make build:strict-smoke Windows-safe/proven or narrow the smoke first.

Full review comments:

  • [P1] Do not smoke a Windows build command that still OOMs — .github/workflows/ci.yml:1994
    The added pwsh step now gets through pnpm check:docs, but the exact current-head Windows CI run fails immediately afterward in pnpm build:strict-smoke with a Node heap OOM. Merging this would make the Windows lane red whenever the smoke runs; fix/prove build:strict-smoke on Windows or remove it from this smoke step before enabling the lane.
    Confidence: 0.97

Overall correctness: patch is incorrect
Overall confidence: 0.95

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against f9e194e4a122.

Label changes

Label justifications:

  • P2: This is a normal-priority CI coverage improvement with limited product runtime blast radius but a current merge-blocking Windows CI failure.
  • merge-risk: 🚨 automation: The diff changes GitHub Actions behavior and the newly added Windows PowerShell step currently fails in live PR CI.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🧂 unranked krab and patch quality is 🧂 unranked krab.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The PR body shows partial local format-docs output, but the full added Windows PowerShell smoke fails in live PR CI, so after-fix real behavior proof is not sufficient. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed

PR surface:

Config +5, Other 0. Total +5 across 2 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 0 0 0 0
Docs 0 0 0 0
Config 1 5 0 +5
Generated 0 0 0 0
Other 1 1 1 0
Total 2 6 1 +5

What I checked:

  • Repository policy read: Root AGENTS.md and the scoped scripts guide were read fully; their PR proof, CI workflow, automation-risk, and script-wrapper guidance apply to this review. (AGENTS.md:1, f9e194e4a122)
  • Current main Windows lane: Current main schedules only checks-windows-node-test with task test, so the requested native PowerShell contributor-command smoke coverage is not already present. (.github/workflows/ci.yml:388, f9e194e4a122)
  • PR diff adds smoke step: The PR head adds Native PowerShell smoke checks under the Windows job and runs pnpm check:docs && pnpm build:strict-smoke. (.github/workflows/ci.yml:1994, c3056c3b0305)
  • Live Windows CI failure: Exact PR CI for current head reaches the added smoke step, passes pnpm check:docs, then fails in pnpm build:strict-smoke with FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory. (.github/workflows/ci.yml:1994, c3056c3b0305)
  • Existing command contracts: check:docs and build:strict-smoke are existing package scripts; this PR is changing where they run, not adding new command definitions. (package.json:1522, f9e194e4a122)
  • Canonical related issue: The open canonical issue requests native PowerShell smoke coverage for selected contributor commands; the current PR is the active candidate but its body still closes an unrelated localization issue.

Likely related people:

  • vincentkoc: Recent GitHub path history shows work on CI workflow stabilization and merged PowerShell-safe docs formatting adjacent to the proposed command set. (role: recent CI and Windows docs tooling contributor; confidence: high; commits: 53bd4dde6c00, add00d747b6d, 6c4028e07369; files: .github/workflows/ci.yml, scripts/format-docs.mjs, test/scripts/format-docs.test.ts)
  • steipete: Current blame for the Windows matrix/job lines and recent workflow commits point to this contributor around the affected CI surface. (role: recent CI workflow contributor and current-line owner; confidence: high; commits: b6f4cf5ac432, 5af24d16bf01; files: .github/workflows/ci.yml, docs/ci.md)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (1 earlier review cycle)
  • reviewed 2026-06-28T13:21:36.518Z sha e2e58af :: needs real behavior proof before merge. :: [P1] Do not add a smoke command that is already failing on Windows

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. labels Jun 9, 2026
@aniruddhaadak80
aniruddhaadak80 force-pushed the fix/powershell-smoke-ci branch from 646c78e to e2e58af Compare June 28, 2026 13:15
@aniruddhaadak80

Copy link
Copy Markdown
Contributor Author

Rebased onto main and chained the native PowerShell smoke checks using && to ensure that pwsh fails fast and exits immediately if any step fails (e.g. if pnpm check:docs fails), rather than masking the error with a subsequent successful command. Ready for re-review.

@openclaw-barnacle openclaw-barnacle Bot added the triage: needs-pr-context Candidate: external PR body lacks required problem context or evidence. label Jun 28, 2026
@openclaw-barnacle openclaw-barnacle Bot added scripts Repository scripts and removed triage: needs-pr-context Candidate: external PR body lacks required problem context or evidence. labels Jul 5, 2026
@aniruddhaadak80

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@openclaw-barnacle

Copy link
Copy Markdown

This pull request has been automatically marked as stale due to inactivity.
Please add updates or it will be closed.

@openclaw-barnacle openclaw-barnacle Bot added the stale Marked as stale due to inactivity label Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. P2 Normal backlog priority with limited blast radius. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. scripts Repository scripts size: XS stale Marked as stale due to inactivity status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: Chinese localization for control UI

3 participants