Skip to content

build(test): make backend test entrypoint deterministic#40

Merged
DonPrus merged 6 commits into
nullclaw:mainfrom
vernonstinebaker:build/test-entrypoint
May 6, 2026
Merged

build(test): make backend test entrypoint deterministic#40
DonPrus merged 6 commits into
nullclaw:mainfrom
vernonstinebaker:build/test-entrypoint

Conversation

@vernonstinebaker

@vernonstinebaker vernonstinebaker commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make the backend test gate explicit by switching documented and CI test commands to zig build test -Dembed-ui=false -Dbuild-ui=false --summary all
  • fix the clean-worktree failure mode where zig build test -Dbuild-ui=false still expected prebuilt embedded UI assets because UI embedding remained enabled
  • update nullclaw/nullbuilder main and v1 with reusable workflow hooks for Node setup, target matrices, generated asset prebuilds, E2E commands, source archives, target-specific check names, and the shared Zig setup action
  • centralize NullHub CI and release workflows on nullbuilder@v1, including UI asset preparation, E2E, ReleaseSmall artifacts, source archive, and Docker publishing
  • update the build panic text and docs so contributors are told about the backend-only -Dembed-ui=false path

Validation

  • rm -rf ui/node_modules ui/build .generated_ui_assets.zig && zig build test -Dembed-ui=false -Dbuild-ui=false --summary all
  • npm --prefix ui ci --no-audit --no-fund
  • npm --prefix ui run build
  • bash tests/test_e2e.sh
  • zig fmt --check src/
  • ruby -e 'require "yaml"; Dir[".github/workflows/*.yml"].each { |f| YAML.load_file(f); puts "ok #{f}" }'
  • ruby -e 'require "yaml"; require "json"; [".github/workflows/ci.yml", ".github/workflows/release.yml"].each { |f| y=YAML.load_file(f); jobs=y.fetch("jobs"); jobs.each_value { |j| next unless j["with"] && j["with"]["targets_json"]; JSON.parse(j["with"]["targets_json"]) }; puts "json ok #{f}" }'
  • git diff --check

Notes

  • nullbuilder@v1 now points at d188f08, which includes the hooks used by this PR
  • NullHub keeps its release target set explicit while using the shared release workflow

vernonstinebaker and others added 6 commits May 5, 2026 14:35
Resolve the README conflict and align the new testing docs with the backend-only test entrypoint.
Route the standard Zig matrix through nullclaw/nullbuilder while keeping NullHub-specific UI E2E and linux-aarch64 checks local.
Use nullbuilder v1 hooks for CI, release builds, UI asset preparation, E2E, source archives, and Docker publishing.
@DonPrus DonPrus merged commit afdf408 into nullclaw:main May 6, 2026
4 checks passed
@vernonstinebaker vernonstinebaker deleted the build/test-entrypoint branch May 6, 2026 19:34
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