linuxdeploy scans all ELF binaries in the AppDir and fails when it
can't find libcublasLt.so.12 (a CUDA library referenced by the
onnxruntime native module). Use patchelf to remove these optional
CUDA dependencies since we only need CPU inference.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The build script fix only applies to future tags. For v0.1.24 (and any
tag built before that fix), we need the workflow itself to remove the
CUDA .so files after building the managed runtime.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
linuxdeploy is distributed as an AppImage and may need libfuse2 to
execute even with APPIMAGE_EXTRACT_AND_RUN=1. ubuntu-22.04 runners
don't have it by default.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Need to see the actual linuxdeploy error output instead of the opaque
"failed to run linuxdeploy" message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ubuntu-latest switched to 24.04 which has libraries with .relr.dyn
sections that linuxdeploy's bundled eu-strip cannot handle, causing
consistent "failed to run linuxdeploy" errors.
Pin to ubuntu-22.04 (also better glibc compat for AppImage) and set
NO_STRIP=true as a safety net.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Smoke tags have non-numeric pre-release identifiers (e.g. gha-smoke.1)
which MSI bundler rejects. Since smoke builds only need to prove Rust
compilation succeeds, skip bundling entirely.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the 855-line managed-daemon-smoke.mjs (which spawned relay
servers, daemons, and tested E2E connectivity in CI) with a fast
validate-managed-runtime.mjs that checks the bundle is correctly
assembled without launching any processes.
Structural changes:
- Eliminate double-build: removed the pre-build step that compiled the
Tauri app just for smoke testing before tauri-action rebuilt it
- Move version-setting before the build so there's no version confusion
- Sign managed runtime before tauri-action build (macOS)
- Smoke tags now do a real tauri build instead of --no-bundle, giving
actual signal about whether the release would succeed
- Reduce each platform job from ~15 steps to ~12
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
npm/cli#4828 caused package-lock.json to prune platform variants
not matching the local OS. Regenerated from scratch so Windows CI
gets @tauri-apps/cli-win32-x64-msvc and lightningcss-win32-x64-msvc.
Removed the lightningcss Windows install workaround from desktop
workflow. Removed deprecated asyncRequireModulePath from metro config.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add x86_64-apple-darwin Rust target alongside the existing aarch64 target
and switch Tauri build to --target universal-apple-darwin, producing a single
DMG that runs natively on both Apple Silicon and Intel Macs.
Add environment variables for LLM authentication:
- ANTHROPIC_API_KEY and CLAUDE_SESSION_TOKEN for Claude Code tests
- OPENAI_API_KEY for Codex and OpenCode tests
Add preflight step that validates credentials are present before running
tests. The step exits with code 1 and clear error messaging if any
required secrets are missing, preventing long hangs from auth failures.
Follows STEER guidance: does NOT set CLAUDE_CONFIG_DIR, CODEX_HOME, or
CODEX_SESSION_DIR - relies on default auth paths.