Skip to content

[fix] stabilize windows bazel smoke for harper-ui#344

Draft
bniladridas wants to merge 1 commit intomainfrom
fix/windows-bazel-ui-package-name
Draft

[fix] stabilize windows bazel smoke for harper-ui#344
bniladridas wants to merge 1 commit intomainfrom
fix/windows-bazel-ui-package-name

Conversation

@bniladridas
Copy link
Copy Markdown
Member

@bniladridas bniladridas commented Apr 29, 2026

Changes

  • Reworked lib/harper-ui/BUILD to use explicit Rust crate deps for harper_ui, harper, and harper_batch instead of relying on ambiguous crate-universe helper expansion.
  • Kept package-scoped aliases(...) for the harper-ui workspace member so Bazel still emits the expected crate-name mapping.
  • Added explicit crate_root wiring for the UI library and binaries.
  • Improved .github/workflows/build-bazel.yml Windows smoke diagnostics by enabling --verbose_failures -s, keying the harper_ui params dump off the actual Bazel build-step outcome, preserving the build failure instead of masking it behind later smoke steps, checking whether each --extern artifact and -Ldependency path from the dumped params file actually exists on the runner, and running a direct rustc smoke compile against one dumped extern to distinguish artifact-presence problems from rustc-loading problems.
  • Replaced the final Windows smoke bazel run step with direct execution of the built harper.exe --version binary by resolving the file from bazel cquery relative to Bazel's execution root and invoking it via Start-Process, avoiding Windows argument-forwarding, path-resolution, and shell-quoting issues.
  • Added docs/development/bazel-windows-debugging.md as the Windows Bazel smoke troubleshooting cookbook and linked it from .github/workflows/README.md.
  • Documented the current minimal repro in the cookbook: a direct Windows rustc.exe @response-file compile with only serde still fails with E0463 even when the dumped extern artifact and dependency paths all exist.
  • Updated .github/workflows/README.md so the Bazel CI entry matches the current Windows smoke lane behavior.
  • Result: Windows Bazel smoke now surfaces the real build failure path, preserves the evidence needed for upstream escalation, and shows that the remaining failure is deeper than a simple lib/harper-ui/BUILD omission.

Validation

  • cargo check -p harper-ui
  • /bin/zsh -lc 'bazel shutdown >/dev/null 2>&1 || true; CARGO_BAZEL_REPIN=1 bazel build :harper_bin'
  • workflow YAML parsed successfully after each workflow edit
  • pre-push checks:
    • check yaml
    • fmt
    • clippy
    • cargo check

@github-actions github-actions Bot changed the title fix: scope bazel deps to harper-ui [fix] scope bazel deps to harper-ui Apr 29, 2026
harper-main-hq
harper-main-hq previously approved these changes Apr 29, 2026
@bniladridas bniladridas changed the title [fix] scope bazel deps to harper-ui [fix] stabilize Windows Bazel smoke for harper-ui Apr 29, 2026
@github-actions github-actions Bot changed the title [fix] stabilize Windows Bazel smoke for harper-ui [fix] stabilize windows bazel smoke for harper-ui Apr 29, 2026
@bniladridas bniladridas force-pushed the fix/windows-bazel-ui-package-name branch 16 times, most recently from 135583c to d51fbb9 Compare April 29, 2026 15:14
@bniladridas bniladridas force-pushed the fix/windows-bazel-ui-package-name branch 2 times, most recently from b3b4869 to 1fc9480 Compare April 29, 2026 15:41
@bniladridas bniladridas force-pushed the fix/windows-bazel-ui-package-name branch from 1fc9480 to 92716d5 Compare April 29, 2026 16:01
@bniladridas bniladridas added the bazel: windows-e0463 Windows Bazel rustc E0463 crate resolution failure label May 1, 2026
@bniladridas bniladridas marked this pull request as draft May 2, 2026 00:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci area: docs area: lib area: ui bazel: windows-e0463 Windows Bazel rustc E0463 crate resolution failure

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants