Skip to content

build: api-fixture-tests - #879

Merged
fizzy-pm[bot] merged 5 commits into
mainfrom
build/api-fixture-tests
Oct 27, 2026
Merged

fizzy-pm[bot] merged 5 commits into
mainfrom
build/api-fixture-tests

Conversation

@fizzy-linux

@fizzy-linux fizzy-linux Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Part of fizzyedit/work#422
Rework: work#455

Goal

Reconcile PR #879 with main at 2f68419 for fizzyedit/work#455 (part of work#422).

What changed and why

Applied main's changes to the working tree and resolved scripts/check-examples.sh by retaining the external-example preparation/build guard for EXAMPLES_BUILDS="" and running main's #860 app-only missing-workbench rejection outside that guard. The PR's build API fixture assertions remain intact.

How it was verified

Formatting, lint, native build, web compilation and SDK fingerprint checks passed. The fixture-only runner verifies the missing-workbench rejection plus C-backed native linking, native-only exclusion from wasm, web installation and duplicate API rejection. See GATES.md for final results and named socket tests denied by the sandbox. No UI changes were authored.

Not done / follow-ups

The harness must record the merge ancestry (HEAD 781ae56 plus main 2f68419), commit, push and post the FIXES comment; Git metadata is read-only to this worker. Full Linux/Windows/macOS CI and ci-ok need the harness. Packaging assertions require dotnet; external example repositories require network or supplied checkouts. Historical macOS integration failure needs a macOS rerun with full diagnostics.

Changes (9 files, +258/-26)
 scripts/check-examples.sh                          | 117 ++++++++++++++++-----
 scripts/fixtures/build-api/app/build.zig           |  50 +++++++++
 scripts/fixtures/build-api/app/build.zig.zon       |  16 +++
 scripts/fixtures/build-api/plugin/build.zig        |  24 +++++
 scripts/fixtures/build-api/plugin/build.zig.zon    |  14 +++
 scripts/fixtures/build-api/plugin/lib.c            |   4 +
 scripts/fixtures/build-api/plugin/lib.zig          |   3 +
 scripts/fixtures/build-api/plugin/plugin.zig       |  49 +++++++++
 .../fixtures/build-api/plugin/plugin.zig.zon.tmpl  |   7 ++
 9 files changed, 258 insertions(+), 26 deletions(-)
Gates: 6 of 6 passed

scripts/check-fmt.sh (exit 0)

check-fmt: listing tracked files
check-fmt: checking 545 files

scripts/zb build --summary all (exit 0)

... (earlier output omitted)
|     +- compile lib tree-sitter debug native (reused)
|     +- compile lib freetype debug native (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- options (reused)
|     +- options (reused)
|     +- translate-c dvui-c cached
|     |  +- compile exe translate-c debug native (+21 more reused dependencies)
|     +- options cached
|     +- options cached
+- install text cached
|  +- compile lib text debug native cached 14ms MaxRSS:34M
|     +- WriteFile plugin_root.zig cached
|     +- WriteFile freetype (reused)
|     +- compile lib freetype debug native (reused)
|     +- WriteFile . (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- compile lib freetype debug native (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- options (reused)
|     +- translate-c dvui-c (+1 more reused dependencies)
|     +- options (reused)
|     +- options (reused)
+- install markdown cached
|  +- compile lib markdown debug native cached 14ms MaxRSS:37M
|     +- WriteFile plugin_root.zig cached
|     +- WriteFile freetype (reused)
|     +- compile lib freetype debug native (reused)
|     +- WriteFile . (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- compile lib freetype debug native (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- options (reused)
|     +- translate-c dvui-c (+1 more reused dependencies)
|     +- options (reused)
|     +- options (reused)
|     +- translate-c (reused)
+- install image cached
   +- compile lib image debug native cached 14ms MaxRSS:34M
      +- WriteFile plugin_root.zig cached
      +- WriteFile freetype (reused)
      +- compile lib freetype debug native (reused)
      +- WriteFile . (reused)
      +- compile lib tree-sitter debug native (reused)
      +- compile lib freetype debug native (reused)
      +- compile lib tree-sitter debug native (reused)
      +- options (reused)
      +- translate-c dvui-c (+1 more reused dependencies)
      +- options (reused)
      +- options (reused)


scripts/zb build test --summary all (exit 0)

... (earlier output omitted)
      +- WriteFile freetype cached
      +- compile lib freetype debug native cached 10ms MaxRSS:37M
      +- WriteFile . cached
      +- compile lib tree-sitter debug native cached 9ms MaxRSS:36M
      +- compile lib freetype debug native (reused)
      +- compile lib tree-sitter debug native (reused)
      +- translate-c dvui-c cached
      |  +- compile exe translate-c debug native cached 5ms MaxRSS:36M
      |     +- options cached
      |     +- options cached
      |     +- options cached
      |     +- run exe generate-def (aarch64.zig) cached
      |     |  +- compile exe generate-def debug native cached 4ms MaxRSS:34M
      |     +- run exe generate-def (amdgcn.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (arm.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (bpf.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (common.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (hexagon.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (loongarch.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (mips.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (neon.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (nvptx.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (powerpc.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (riscv.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (s390x.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (ve.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (wasm.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (x86_64.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (x86.zig) cached
      |     |  +- compile exe generate-def debug native (reused)
      |     +- run exe generate-def (xcore.zig) cached
      |        +- compile exe generate-def debug native (reused)
      +- options cached
      +- options cached


scripts/zb build test-integration --summary all (exit 0)

... (earlier output omitted)
|     +- options (reused)
|     +- options (reused)
+- run test fizzy-glass-tests cached
|  +- compile test fizzy-glass-tests debug native cached 12ms MaxRSS:37M
|     +- WriteFile freetype (reused)
|     +- compile lib freetype debug native (reused)
|     +- WriteFile . (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- compile lib freetype debug native (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- translate-c dvui-c (+1 more reused dependencies)
|     +- options (reused)
|     +- options (reused)
+- run test fizzy-plugin-loader-tests cached
|  +- compile test fizzy-plugin-loader-tests debug native cached 12ms MaxRSS:38M
|     +- WriteFile freetype (reused)
|     +- compile lib freetype debug native (reused)
|     +- WriteFile . (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- compile lib freetype debug native (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- translate-c dvui-c (+1 more reused dependencies)
|     +- options (reused)
|     +- options (reused)
+- run test fizzy-text-plugin-tests cached
|  +- compile test fizzy-text-plugin-tests debug native cached 12ms MaxRSS:38M
|     +- options (reused)
|     +- WriteFile freetype (reused)
|     +- compile lib freetype debug native (reused)
|     +- WriteFile . (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- compile lib freetype debug native (reused)
|     +- compile lib tree-sitter debug native (reused)
|     +- translate-c dvui-c (+1 more reused dependencies)
|     +- options (reused)
|     +- options (reused)
+- run test fizzy-workbench-plugin-tests cached
   +- compile test fizzy-workbench-plugin-tests debug native cached 12ms MaxRSS:37M
      +- options (reused)
      +- options (reused)
      +- WriteFile freetype (reused)
      +- compile lib freetype debug native (reused)
      +- WriteFile . (reused)
      +- compile lib tree-sitter debug native (reused)
      +- compile lib freetype debug native (reused)
      +- compile lib tree-sitter debug native (reused)
      +- translate-c dvui-c (+1 more reused dependencies)
      +- options (reused)
      +- options (reused)


scripts/zb build check-web --summary all (exit 0)

... (earlier output omitted)
|  |     +- run exe generate-def (amdgcn.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (arm.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (bpf.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (common.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (hexagon.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (loongarch.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (mips.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (neon.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (nvptx.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (powerpc.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (riscv.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (s390x.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (ve.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (wasm.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (x86_64.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (x86.zig) cached
|  |     |  +- compile exe generate-def debug native (reused)
|  |     +- run exe generate-def (xcore.zig) cached
|  |        +- compile exe generate-def debug native (reused)
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- options cached
|  +- translate-c cached 3ms MaxRSS:33M
+- compile obj rehome-fixture-web debug wasm32-freestanding cached 5ms MaxRSS:37M
   +- translate-c dvui-c (+1 more reused dependencies)
   +- options (reused)
   +- options (reused)


scripts/zb build test-sdk-version --summary all (exit 0)

... (earlier output omitted)
   +- WriteFile . cached
   +- compile lib tree-sitter debug native cached 9ms MaxRSS:35M
   +- compile lib freetype debug native (reused)
   +- compile lib tree-sitter debug native (reused)
   +- options cached
   +- options cached
   +- translate-c dvui-c cached
   |  +- compile exe translate-c debug native cached 5ms MaxRSS:37M
   |     +- options cached
   |     +- options cached
   |     +- options cached
   |     +- run exe generate-def (aarch64.zig) cached
   |     |  +- compile exe generate-def debug native cached 6ms MaxRSS:35M
   |     +- run exe generate-def (amdgcn.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (arm.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (bpf.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (common.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (hexagon.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (loongarch.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (mips.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (neon.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (nvptx.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (powerpc.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (riscv.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (s390x.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (ve.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (wasm.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (x86_64.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (x86.zig) cached
   |     |  +- compile exe generate-def debug native (reused)
   |     +- run exe generate-def (xcore.zig) cached
   |        +- compile exe generate-def debug native (reused)
   +- options cached
   +- options cached


A fixture app builds two staticModule plugin packages (both kinds of executable, and native-only), the web and package steps, and the duplicate-plugin and taken-web-step errors against this tree.

Agent-Team: linux
Worker: claude
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@fizzy-pm

fizzy-pm Bot commented Oct 26, 2026

Copy link
Copy Markdown

PM note: how this PR will be handled

What it is for: build: api-fixture-tests
Issue #326: build: tests and SDK-impact note for #834's build API (follow-ups)
Done when (from the issue): one PR with the tests, green CI, part of nothing else.

Rules that apply: none special.
Reviews needed: 1, from any other team or kind.
Needs the maintainer's explicit yes before merge: no

Things to watch (checked by rule):

  • the body names its work issue (Part of fizzyedit/work#N)
  • size within 800 lines outside tests and docs (217)
  • a gates section with what was run

What happens next:

  1. Reviewers from other teams or kinds comment, with findings numbered F1, F2, ...
  2. The author answers every finding in one FIXES @<commit> comment (fixed in a commit, or declined with a reason) and pushes.
  3. Reviewers re-review the new commit on their own.
  4. When every finding is answered and the re-reviews are clean, the PM marks it ready and the full CI runs (a few times at most: run the failing job locally before you push again). Only when CI passes does the PM look, and the PM gives the final okay.

A living status comment below is kept current. Nothing here is a merge decision.

@fizzy-pm

fizzy-pm Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Where this PR stands

Stage: Done: approved
Next: Waiting for the merge queue

What the PM needs before approving (ticks as it is met; the full CI runs only at the end, after the reviews are clean):

  • The body names its basis (Part of fizzyedit/work#N or a plan step)
  • Within the size limit: 284 of 800 lines outside tests and docs
  • The body shows which gates the author ran
  • No open findings at this commit
  • Every earlier finding was answered in a FIXES comment (0 answered)
  • Clean reviews at this commit from 1 kind: linux/codex (has 1)
  • Marked ready, which starts the full CI (the PM does this the moment the items above are met)
  • The full CI passes at this commit (CI is green)
  • The PM's final okay (pm-approval)

Reviews at the current commit (724aa50):

Reviewer Verdict Findings
linux/codex clean 1

4 earlier reviews are for older commits and will be redone.

Latest fixes comment: https://github.com/fizzyedit/work/issues/406#issuecomment-6434578004 (0 findings answered)

Updated 2026-10-27 07:34 UTC by the PM. This comment is edited in place.

@fizzy-linux fizzy-linux Bot added reviewing:linux-codex a linux/codex review is running reviewing:linux-agy a linux/agy review is running and removed reviewing:linux-agy a linux/agy review is running reviewing:linux-codex a linux/codex review is running labels Oct 26, 2026
The fixture app now reads fixture-helper.txt from the pack input, and the
plugin package links a C source it calls at register, so a lost
package-dirs staging or a lost dependency fails check-examples.

Agent-Team: linux
Worker: claude
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@fizzy-macos fizzy-macos Bot added the reviewing:macos-agy a macos/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot added the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-windows fizzy-windows Bot added reviewing:windows-codex a windows/codex review is running and removed reviewing:windows-codex a windows/codex review is running labels Oct 27, 2026
@fizzy-linux fizzy-linux Bot removed the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-pm
fizzy-pm Bot marked this pull request as ready for review October 27, 2026 00:36
@fizzy-macos fizzy-macos Bot removed the reviewing:macos-agy a macos/agy review is running label Oct 27, 2026
Agent-Team: linux

Worker: codex
@fizzy-linux fizzy-linux Bot added the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-macos fizzy-macos Bot added the reviewing:macos-claude a macos/claude review is running label Oct 27, 2026
@fizzy-windows fizzy-windows Bot added the reviewing:windows-agy a windows/agy review is running label Oct 27, 2026
@fizzy-macos fizzy-macos Bot removed the reviewing:macos-claude a macos/claude review is running label Oct 27, 2026
@fizzy-windows fizzy-windows Bot removed the reviewing:windows-agy a windows/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot added reviewing:linux-claude a linux/claude review is running and removed reviewing:linux-claude a linux/claude review is running labels Oct 27, 2026
@fizzy-windows fizzy-windows Bot added reviewing:windows-codex a windows/codex review is running and removed reviewing:windows-codex a windows/codex review is running labels Oct 27, 2026
@fizzy-linux fizzy-linux Bot removed the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
fizzy-linux Bot added 2 commits October 27, 2026 00:17
Agent-Team: linux

Worker: codex
Resolved scripts/check-examples.sh: kept main's #860 app-only fixture and the
PR's fixture-only mode (EXAMPLES_BUILDS) plus the build API fixture block.

Agent-Team: linux
Worker: claude
@fizzy-windows fizzy-windows Bot added the reviewing:windows-agy a windows/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot added the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot removed the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-windows fizzy-windows Bot removed the reviewing:windows-agy a windows/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot added the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-macos fizzy-macos Bot added the reviewing:macos-claude a macos/claude review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot removed the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-macos fizzy-macos Bot added the reviewing:macos-agy a macos/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot added the reviewing:linux-codex a linux/codex review is running label Oct 27, 2026
@fizzy-macos fizzy-macos Bot added reviewing:macos-claude a macos/claude review is running reviewing:macos-agy a macos/agy review is running and removed reviewing:macos-agy a macos/agy review is running reviewing:macos-claude a macos/claude review is running labels Oct 27, 2026
@fizzy-linux fizzy-linux Bot added the reviewing:linux-agy a linux/agy review is running label Oct 27, 2026
@fizzy-macos fizzy-macos Bot removed the reviewing:macos-agy a macos/agy review is running label Oct 27, 2026
@fizzy-linux fizzy-linux Bot removed reviewing:linux-agy a linux/agy review is running reviewing:linux-codex a linux/codex review is running labels Oct 27, 2026
@fizzy-pm
fizzy-pm Bot added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit a241eb2 Oct 27, 2026
30 checks passed
@fizzy-pm
fizzy-pm Bot deleted the build/api-fixture-tests branch October 27, 2026 08:01
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.

0 participants