Skip to content

[WASM R3] build: diagnose target runner failures - #223

Closed
cpunion wants to merge 5 commits into
codex/wasm-r3-toolchain-20260904from
codex/wasm-r3-runner-diagnostics-20260905
Closed

cpunion wants to merge 5 commits into
codex/wasm-r3-toolchain-20260904from
codex/wasm-r3-runner-diagnostics-20260905

Conversation

@cpunion

@cpunion cpunion commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • classify WebAssembly target-runner setup, startup, and exit failures with stable diagnostic fields
  • include target, ABI profile, artifact, runner, package, status, and exit code in llgo run errors
  • exercise public llgo run paths for Emscripten/WASI profiles and legacy aliases in the single-worker CI lane
  • add a real negative runner-exit contract test to prevent unverified/dead error paths

Stack

This is a focused follow-up to #222 and intentionally excludes multi-worker runtime work.

Validation

  • go test ./internal/build ./cmd/internal/run ./cmd/internal/test -count=1
  • go build ./cmd/llgo
  • full dev/test_wasm_single_worker.sh with Binaryen wasm-opt and build cache disabled
  • bash -n dev/test_wasm_single_worker.sh

The full WebAssembly lane covers successful public CLI execution plus a forced runner failure and asserts its structured diagnostic fields.

@cpunion

cpunion commented Sep 4, 2026

Copy link
Copy Markdown
Owner Author

CI triage update: the Release Build failure is the same current-main Debian security-mirror race seen upstream: a stale gnupg_2.2.27-2+deb11u3 URL returned 404, package installation continued, then rsync was missing. It is unrelated to runner diagnostics and is isolated in #225 with bounded update/install retries, fail-fast behavior, deterministic retry tests, and a successful real bullseye-container validation. No sysroot workaround will be mixed into this R3 branch.

@cpunion
cpunion force-pushed the codex/wasm-r3-toolchain-20260904 branch from c4c4d97 to b3e9ec3 Compare September 5, 2026 15:22
@cpunion
cpunion force-pushed the codex/wasm-r3-runner-diagnostics-20260905 branch from 2be342a to 946f93e Compare September 5, 2026 15:22
@cpunion

cpunion commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Rebased in dependency order onto LLVM 22 main bf3071fdd.

  • This PR's new head: 946f93ec2; current dependency: codex/wasm-r3-toolchain-20260904.
  • R2's 28 patches and R2.1's six lifecycle patches remain equivalent. R3/R4 inherit the independent fork-runner repair ci: keep hosted runners available to forks #236; upstream continues using Qiniu, forks use hosted runners. R4's separate stdlib workflow now also installs LLVM 22.
  • LLVM 22 integration validation passed: 30 single-worker checks (7 expected failure paths, 1 timeout, no unexpected failures/skips); nine R3 stdlib package runs; five R4 lanes with six packages / 74 top-level tests per lane. Go-reference lanes remain Go output, not LLGo official-Go-ABI evidence.

To keep CI load bounded, this intermediate PR retains Format/Targets. Repeated functional matrices are canceled here and kept on the updated stack tip #235. Per-layer benchmark reruns are deferred, not replaced by the top PR's performance comparison. Canceled checks are not passing checks, and the integration result is not independent complete validation of every intermediate revision.

@cpunion
cpunion force-pushed the codex/wasm-r3-toolchain-20260904 branch 2 times, most recently from b3a87cd to 90192e1 Compare September 6, 2026 08:39
@cpunion

cpunion commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

Retiring this old R3 stack while its still-useful changes are extracted into a new PR based on the current Wasm direction. The branch remains available for reference.

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.

1 participant