Skip to content

Remove Bun installer test dependency#91

Merged
anandh8x merged 4 commits into
mainfrom
chore/remove-bun-installer-tests
Jun 6, 2026
Merged

Remove Bun installer test dependency#91
anandh8x merged 4 commits into
mainfrom
chore/remove-bun-installer-tests

Conversation

@anandh8x

@anandh8x anandh8x commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • port installer script contract and no-network Unix install smoke tests from Bun/TypeScript to Go
  • remove the repo-level Bun/TypeScript config and CI setup steps
  • switch CI, release packaging, performance smoke, docs, and PR review summaries to direct Go commands
  • keep the npm wrapper as Node, with its missing-binary message pointing to the Go build command

Validation

  • env GOCACHE=/tmp/zero-go-cache go test ./internal/installtest ./internal/npmwrapper ./internal/release ./internal/review ./cmd/zero-pr-review ./internal/perfbench
  • GOCACHE=/tmp/zero-go-cache go test ./...
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release build
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release smoke
  • node bin/zero.js --version
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-perf-bench --output dist/perf/perf-bench.json --ci
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release package
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release verify
  • git diff --check

Summary by CodeRabbit

  • Documentation

    • Updated quick-start, development, architecture, performance and guidance docs to adopt Go-native workflows and remove Bun/TypeScript-centric instructions.
  • Chores

    • CI/CD workflows switched to Go-based test/build/smoke/perf steps.
    • npm package manifest reduced to a minimal wrapper.
  • Tests

    • Added comprehensive installer-script tests (checksum, platform installer contracts, and smoke scenarios) and removed legacy TypeScript-based installer tests.
  • Style

    • Clarified npm wrapper error text to reference the native Go build/install steps.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Zero automated PR review

Verdict: No blockers found

Blockers

  • None found.

Validation

  • [pass] Diff hygiene: git diff --check
  • [pass] Tests: go test ./...
  • [pass] Build: go run ./cmd/zero-release build
  • [pass] Smoke build: go run ./cmd/zero-release smoke

Scope

Head: 61985989df40
Changed files (22): .github/workflows/ci.yml, .github/workflows/pr-auto-review.yml, .github/workflows/release-artifacts.yml, AGENTS.MD, README.md, bin/zero.js, bun.lock, cmd/zero-pr-review/main.go, cmd/zero-pr-review/main_test.go, docs/INSTALL.md, docs/M1_HEADLESS_EXEC_PRD.md, docs/NPM_WRAPPER_SMOKE.md, and 10 more

This deterministic review checks validation status and basic diff hygiene. A human reviewer still owns product judgment and design quality.

@gnanam1990

Copy link
Copy Markdown
Collaborator

Review: PR #91 — Remove Bun installer test dependency (anandh8x / Anandan)

URL: #91
State: OPEN (reviewDecision: REVIEW_REQUIRED)
Author: anandh8x (Anandan)
Branch: chore/remove-bun-installer-tests
Review Date: current
Reviewer: gnanam1990 (runtime core owner)

Ownership Fit

Strong match for Anandan's platform product owner lane (WORK_SPLIT_PRD v3):

  • Install/update/release trust, binary/package smoke tests, CI as product verification, performance and release checks.
  • "Anandan must own platform product work, not only docs/site/CI. His lane must produce platform behavior that users and maintainers can run."
  • Accepted: install smoke tests, package/binary smoke, CI jobs that prove real Zero commands, release artifact verification.
  • Platform/release contract DRI.

This PR ports the installer script contract tests and no-network Unix install smoke from Bun/TS to Go, removes Bun/TS config and CI setup for installer tests, switches CI/release/perf smoke/docs/PR review to direct Go commands (go run ./cmd/zero-release *, go test, etc.), while keeping the npm wrapper as Node (with message pointing to Go build).

Clean boundary: Core of this PR does not touch runtime contracts (agent, permissions, sessions, providers, stream-json, etc. that Gnanam owns). The runtime file diffs in the branch are from previously merged PRs. Touches release/packaging/CI/install smoke — exactly Anandan's remit.

Fits "every PR must expose user-runnable behavior or concrete contract" (install smoke now in Go, CI proves commands post-install).

Summary of Change

  • New internal/installtest/install_scripts_test.go: Go tests for Unix (install.sh) and PowerShell (install.ps1) installer scripts matching release contracts (shebang, env vars, archive/checksum names, curl/tar/expand, binary copy). Includes no-network smoke using local fixture archives/checksums (sha256, tar/zip extract, find binary).
  • Workflow updates (ci.yml, pr-auto-review.yml, release-artifacts.yml): Remove Bun setup/install steps for these paths. Switch to go run ./cmd/zero-release build/smoke/package/verify, go test ./..., direct Go perf-bench, etc. Remove typecheck/Bun-specific from some review flows.
  • Docs/AGENTS/README updates: AGENTS.MD now prefers Go-native commands (Node only for npm wrapper). Update smoke checklists, install docs, performance, work-split, M1 PRD to use go run instead of bun run. Remove Bun references where installer tests are concerned.
  • Package/release small updates: npmwrapper test tweaks, perfbench minor, review.go, release.go, bin/zero.js message, etc. to align with Go commands.
  • Cleanup: delete bun.lock (parts), tsconfig.json, tests/install-scripts.test.ts, old Bun scripts/tests no longer needed for installer path. Switch some package scripts.

Validation (per PR): go test for installtest/npmwrapper/release/review/perfbench/cmd/zero-pr-review; go run zero-release build/smoke/package/verify; go run zero-perf-bench; node bin/zero.js --version; full go test ./...; git diff --check.

Code Quality & Tests

Positive:

  • New Go installtest package directly tests the installer contracts (Unix/PS1) against release naming (platform-arch, tar.gz/zip + .sha256). The no-network smoke uses temp fixtures for archive/checksum, simulates extract/find/copy — excellent for "CI that proves real installed Zero commands" without network.
  • Removes legacy Bun/TS installer test dep cleanly. Aligns with Go-native baseline post previous migrations (Remove legacy TypeScript runtime #78 TS removal, Move build smoke tooling to Go #86/Move release packaging to Go #85 build/release to Go, Move performance benchmark to Go #87 perf to Go, Replace npm wrapper with Node entrypoint #88 Node wrapper).
  • Workflows simplified: no more Bun for core smoke/CI paths (keeps Node for wrapper where needed).
  • AGENTS.MD update is pragmatic: "Use Go-native project commands; Node is only for the npm wrapper."
  • Docs updates keep smoke checklists practical (go test + go run for release/perf).
  • Tests added/updated as required by DoD for Anandan's PRs.

Observations / minor suggestions (not blocking):

  • The branch diff stat shows many files (agent/tui/etc.) — these are from prior merged PRs on the branch; the actual PR commit (96c069c) is narrowly scoped to Bun removal for installer + related CI/docs. Good isolation.
  • Some workflow changes remove Bun install entirely from smoke jobs; ensure remaining Bun/TS (if any for wrapper) still works — PR keeps node bin/zero.js and wrapper smoke.
  • The install smoke now in Go is more portable/reliable for CI (no Bun dep for this path). The fixture-based no-network test is a nice addition for "install smoke tests".
  • Minor: some docs still reference old bun run for other things (e.g. perf in places); PR focuses on installer/CI switch.
  • No new runtime surface changes in this PR's core changes.

All Go tests for the touched packages (installtest, release, review, etc.) pass locally, build/smoke commands succeed, full go test ./... green in the run.

Alignment with PRD / WORK_SPLIT / DoD

  • Platform/Release (P0/P1): Directly advances "installable, updateable, and testable", "release trust" (checksums, package smoke, install scripts), "CI as product verification".
  • Anandan's lane: Matches "install/update/release trust, binary/package smoke tests, ... CI jobs that prove real Zero commands after installation", "platform adapter behavior", "user-runnable command behavior". Not docs-only — produces Go smoke tests and CI using Go commands.
  • DoD for code PRs / Anandan's PRs: Adds/updates tests (new installtest), runs go test ./..., package smoke checks (updated), includes manual CLI output in validation. Produces runnable install behavior and CI proofs.
  • Continues migration to "Go-native core" (removes more Bun/TS dep for core paths).
  • Shared contracts: no change to Gnanam-owned (stream-json, permissions, sessions, etc.). Platform/release contract updated via Go implementation.

Recommendation

Approve.

This is exactly the platform work Anandan is DRI for: cleaning legacy Bun/TS installer test dep, porting smoke/contracts to Go, switching CI/release/perf to direct Go commands, updating docs/AGENTS. Delivers concrete, testable install/release behavior without network, fits "must produce platform behavior" rule. Clean, no runtime contract impact, tests pass, aligns with prior Anandan PRs (#86, #85, #84, #81, #88, #87).

Minor future: continue simplifying remaining Bun refs if/when full TS removal for non-wrapper is ready; ensure cross-platform (Windows PS1 smoke) coverage stays strong.

Great cleanup step toward mature Go-first platform.

(Full prior detailed reviews for Anandan followed similar positive pattern with lane fit, boundary notes, and approve recs.)


Review generated per user's request for PR 91. Local copy: reviews/pr-91-anandan-remove-bun-installer-tests.md
Posted as GitHub comment + formal review action.

@gnanam1990 gnanam1990 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Formal approval.

This is clean, high-value platform work for Anandan's lane (port installer smoke/contracts to Go, remove Bun dep from CI/release/perf paths, switch to direct Go commands, update docs/AGENTS).

  • New internal/installtest tests the Unix/PS1 installer contracts + no-network smoke using fixtures (matches release naming, checksums, extract).
  • Workflows simplified (no Bun setup for these; use go run ./cmd/zero-release * and go test).
  • Fits DoD: tests added, go test, package smoke/release verification, produces runnable install behavior and CI proofs.
  • No runtime contract impact (Gnanam's areas untouched in core change).
  • CodeRabbit will likely approve; local validation (tests, build, smoke, perf) passes.

LGTM per detailed comment. Approving.

See #91 (comment)... (the posted detailed review) for full ownership fit, code notes, and minor suggestions.

@gnanam1990 gnanam1990 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Formal approval following detailed review.

This PR is a clean, high-value platform cleanup by Anandan:

  • Ports installer contracts + no-network smoke tests to Go (new internal/installtest).
  • Removes Bun/TS dep from CI, release, perf smoke, docs for these paths.
  • Switches to direct Go commands (go run ./cmd/zero-release *, go test).
  • Updates AGENTS.MD, smoke checklists, etc. appropriately.
  • Keeps Node for npm wrapper only.

Fits Anandan's lane perfectly (install/release trust, smoke tests, CI verification, platform/release contract).
Delivers user-runnable behavior and CI proofs.
No impact on runtime contracts (Gnanam areas).
Tests (new + existing) pass locally; smoke/build/perf/package/verify steps succeed per PR validation and local runs.

LGTM. Approving.

Detailed analysis in prior comment: #91 (comment)

@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown

Linter diff in the way? Review this PR in Change Stack to focus on meaningful changes and expand context only when needed.

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 20e89f40-e281-441d-ba47-babdbe127d4d

📥 Commits

Reviewing files that changed from the base of the PR and between 652d481 and 6198598.

📒 Files selected for processing (1)
  • internal/npmwrapper/npmwrapper_test.go

Walkthrough

This PR replaces Bun/TypeScript operational commands with Go-native commands across CI workflows and PR review checks, updates docs and npm wrapper messaging, trims the npm manifest, and adds Go tests validating Unix/PowerShell installer scripts including an offline Unix smoke test.

Changes

Bun-to-Go Runtime Migration

Layer / File(s) Summary
CI workflow migration to Go-only steps
.github/workflows/ci.yml, .github/workflows/pr-auto-review.yml, .github/workflows/release-artifacts.yml
Smoke, performance, and package jobs replace Bun setup/install/run with direct Go commands: go test ./..., `go run ./cmd/zero-release build
PR review automation: checks and environment
internal/review/review.go, cmd/zero-pr-review/main.go, internal/review/review_test.go, cmd/zero-pr-review/main_test.go
Review check definitions and help/tests drop the Typecheck entry and update command strings to Go equivalents; the fail-on-blockers condition no longer references steps.typecheck.outcome.
Installer script contract and smoke validation
internal/installtest/install_scripts_test.go
New Go tests assert scripts/install.sh and scripts/install.ps1 match release-contract patterns and run an offline Unix smoke install using mocked artifacts and curl, plus checksum-failure tests and supporting fixtures/helpers.
Documentation and developer guidance updates
README.md, AGENTS.MD, docs/*, bin/zero.js, internal/perfbench/perfbench.go
Docs, README, AGENTS, and guidance now reference go run/go test flows; performance docs updated to use go run ./cmd/zero-perf-bench; error/help text updated to recommend Go build commands; TypeScript marked non-baseline.
npm package simplification and wrapper contract updates
package.json, tests/install-scripts.test.ts, tsconfig.json, internal/npmwrapper/npmwrapper_test.go, bin/zero.js
package.json trimmed to a minimal wrapper manifest and bin/zero.js retained as the npm wrapper; TypeScript test and tsconfig removed; npm wrapper tests updated to require empty scripts, ban Bun/import patterns, and increase execution hardening.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • Gitlawb/zero#86: Related changes introducing/using zero-release build/smoke/packaging commands referenced by the CI updates.
  • Gitlawb/zero#87: Adds zero-perf-bench and perfbench implementation used by the updated performance job.
  • Gitlawb/zero#75: Overlaps in PR auto-review pipeline and zero-pr-review/internal/review updates moving checks to Go.

Suggested reviewers

  • gnanam1990
  • Vasanthdev2004
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change: removing Bun as a test dependency by porting installer tests from TypeScript/Bun to Go and switching CI workflows to Go-native commands.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-bun-installer-tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
internal/installtest/install_scripts_test.go (1)

95-101: ⚡ Quick win

Add a checksum-mismatch smoke test to validate integrity enforcement.

Right now the suite checks checksum-related strings and a happy-path install, but it doesn’t assert that a bad checksum actually fails installation. Adding one negative-path test would harden the release-contract guarantee.

Also applies to: 161-163

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@internal/installtest/install_scripts_test.go` around lines 95 - 101, Add a
negative-path smoke test that ensures a bad checksum causes install to fail:
after reading the archive bytes (archiveBytes := os.ReadFile(archivePath)) and
writing the real checksum (sha256.Sum256), create a tampered checksum file
(checksumPath) or overwrite it via writeFile with an incorrect hex value for
archiveName, then run the installer invocation used elsewhere in this test suite
and assert it returns a non-zero exit/error and emits a checksum-mismatch error
string; mirror the pattern used for the happy-path test but expect failure and
specific checksum error output to validate integrity enforcement.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@internal/installtest/install_scripts_test.go`:
- Around line 59-66: The test currently defaults releasePlatform to "linux" and
releaseArch to "x64" which masks unsupported OS/arch; change the logic around
the releasePlatform and releaseArch variables (the code using runtime.GOOS and
runtime.GOARCH) to explicitly handle known values and call t.Skipf(...) when
encountering any other OS or architecture instead of assigning a default. Locate
the block that sets releasePlatform and releaseArch in install_scripts_test.go,
add explicit switches or if/else branches for supported cases (e.g., "darwin" ->
"macos", "linux" -> "linux"; "amd64"/"x86_64" -> "x64", "arm64" -> "arm64") and
invoke t.Skipf with a clear message for unsupported runtime.GOOS or
runtime.GOARCH.

---

Nitpick comments:
In `@internal/installtest/install_scripts_test.go`:
- Around line 95-101: Add a negative-path smoke test that ensures a bad checksum
causes install to fail: after reading the archive bytes (archiveBytes :=
os.ReadFile(archivePath)) and writing the real checksum (sha256.Sum256), create
a tampered checksum file (checksumPath) or overwrite it via writeFile with an
incorrect hex value for archiveName, then run the installer invocation used
elsewhere in this test suite and assert it returns a non-zero exit/error and
emits a checksum-mismatch error string; mirror the pattern used for the
happy-path test but expect failure and specific checksum error output to
validate integrity enforcement.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 68aa54b3-ebc7-4650-9755-396fbce7b5fb

📥 Commits

Reviewing files that changed from the base of the PR and between b70fea7 and 96c069c.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (21)
  • .github/workflows/ci.yml
  • .github/workflows/pr-auto-review.yml
  • .github/workflows/release-artifacts.yml
  • AGENTS.MD
  • README.md
  • bin/zero.js
  • cmd/zero-pr-review/main.go
  • cmd/zero-pr-review/main_test.go
  • docs/INSTALL.md
  • docs/M1_HEADLESS_EXEC_PRD.md
  • docs/NPM_WRAPPER_SMOKE.md
  • docs/PERFORMANCE.md
  • docs/WORK_SPLIT_PRD.md
  • internal/installtest/install_scripts_test.go
  • internal/npmwrapper/npmwrapper_test.go
  • internal/perfbench/perfbench.go
  • internal/review/review.go
  • internal/review/review_test.go
  • package.json
  • tests/install-scripts.test.ts
  • tsconfig.json
💤 Files with no reviewable changes (5)
  • cmd/zero-pr-review/main.go
  • tests/install-scripts.test.ts
  • tsconfig.json
  • cmd/zero-pr-review/main_test.go
  • package.json

Comment thread internal/installtest/install_scripts_test.go Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
internal/installtest/install_scripts_test.go (1)

215-239: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Past review addressed; minor cleanup needed.

The switch-based platform/arch helpers with explicit t.Skipf for unsupported values fully address the past review comment—great improvement.

However, Line 231 includes "x86_64" in the case, but runtime.GOARCH returns "amd64" for x86-64 systems, never "x86_64". This case is unreachable and should be removed.

🧹 Proposed fix
 func unixReleaseArch(t *testing.T) string {
 	t.Helper()
 	switch runtime.GOARCH {
-	case "amd64", "x86_64":
+	case "amd64":
 		return "x64"
 	case "arm64":
 		return "arm64"
 	default:
 		t.Skipf("Unix installer smoke does not support GOARCH=%s", runtime.GOARCH)
 		return ""
 	}
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@internal/installtest/install_scripts_test.go` around lines 215 - 239, Remove
the unreachable "x86_64" case from the unixReleaseArch helper: update the switch
in unixReleaseArch (which currently checks runtime.GOARCH) to only match "amd64"
and "arm64", leaving the default t.Skipf path unchanged; leave
unixReleasePlatform alone. This cleans up dead code by deleting the "x86_64"
case in the unixReleaseArch function.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@internal/installtest/install_scripts_test.go`:
- Around line 215-239: Remove the unreachable "x86_64" case from the
unixReleaseArch helper: update the switch in unixReleaseArch (which currently
checks runtime.GOARCH) to only match "amd64" and "arm64", leaving the default
t.Skipf path unchanged; leave unixReleasePlatform alone. This cleans up dead
code by deleting the "x86_64" case in the unixReleaseArch function.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 003c1cb2-a913-473e-8232-e18d08816a0d

📥 Commits

Reviewing files that changed from the base of the PR and between 96c069c and 4a6345d.

📒 Files selected for processing (1)
  • internal/installtest/install_scripts_test.go

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@internal/npmwrapper/npmwrapper_test.go`:
- Around line 70-76: Tests create a 30s context for running the npm wrapper via
exec.CommandContext (ctx, node, wrapperPath, "--version") which is excessive;
change the timeout passed to context.WithTimeout in both test locations (the
blocks invoking exec.CommandContext/CombinedOutput and checking ctx.Err()) down
to a shorter value like 5–10s (e.g., 5*time.Second or 10*time.Second) so
failures surface faster, while keeping the existing ctx.Err() timeout checks and
error formatting intact.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 83c90f5d-a8cb-4fa2-912a-af2518c35782

📥 Commits

Reviewing files that changed from the base of the PR and between 4a6345d and 652d481.

📒 Files selected for processing (1)
  • internal/npmwrapper/npmwrapper_test.go

Comment thread internal/npmwrapper/npmwrapper_test.go Outdated
@anandh8x
anandh8x merged commit 442f24c into main Jun 6, 2026
6 checks passed

@Vasanthdev2004 Vasanthdev2004 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Blockers

  • None found.

Non-Blocking

  • None.

Looks Good

  • The latest head 61985989df4073dfac480a1c79ac6f72a4c879d5 cleanly completes the Go-native installer/release validation migration: installer contract tests are now Go tests, CI/release/perf/review paths use direct Go commands, and the npm wrapper remains a minimal Node distribution shim.
  • The follow-up installer hardening is good: unsupported Unix OS/arch combinations skip explicitly instead of defaulting to Linux/x64, and the no-network installer smoke now includes a checksum-mismatch negative path.
  • The npm wrapper tests now make the fixture package type explicit and assert subprocess timeouts, which keeps the Node ESM wrapper checks stable on the review host.
  • The PR auto-review workflow keeps the write token in the trusted actions/github-script posting step; PR-controlled validation steps only produce inert outcomes/body content.

Validation run locally on the latest PR head and on a latest-main test merge:

  • GOCACHE=/tmp/zero-go-cache go test -count=1 ./internal/installtest ./internal/npmwrapper ./internal/release ./internal/review ./cmd/zero-pr-review ./internal/perfbench — passed.
  • GOCACHE=/tmp/zero-go-cache go test -count=1 -p 1 ./... — passed.
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release build — passed; built zero.exe.
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release smoke — passed.
  • node bin/zero.js --version — passed (zero 0.1.0).
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-perf-bench --output dist/perf/perf-bench.json --ci — passed with no warnings.
  • GOCACHE=/tmp/zero-go-cache go run ./cmd/zero-release package and verify — passed; Windows x64 archive packaged and checksum verified.
  • git diff --check — passed.
  • Latest-main test merge onto b70fea7d6ffd4ef085aef71cb95997ce960d86e9 merged cleanly and repeated the same validation successfully.

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.

3 participants