Build staging desktop artifacts in debug profile#1044
Build staging desktop artifacts in debug profile#1044M3gA-Mind merged 3 commits intotinyhumansai:mainfrom
Conversation
This keeps production release artifacts unchanged while ensuring staging sidecar, bundle lookup, and upload paths align with debug outputs. Made-with: Cursor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe release workflow computes BUILD_PROFILE from Changes
Sequence Diagram(s)sequenceDiagram
participant GH as GitHub Actions
participant Inputs as Inputs (build_target)
participant Build as Cargo (core sidecar)
participant Tauri as Cargo Tauri
participant Artifacts as Artifact Lookup/Upload
participant ELF as ELF Inspector
Inputs->>GH: provide `build_target`
GH->>GH: compute `BUILD_PROFILE` (debug|release)
GH->>Build: cargo build ... (with/without --release) [target/<triple>/{debug|release}]
GH->>Tauri: cargo tauri build (--debug for staging / default for release)
GH->>Artifacts: search `target/<triple>/{debug|release}/bundle/**` and upload binaries
GH->>ELF: inspect ELF deps at profile-dependent `target/.../{debug|release}/OpenHuman`
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 3/5 reviews remaining, refill in 13 minutes and 11 seconds. Comment |
|
Test plan update:
Both runs failed immediately at So the remaining two test-plan items are blocked by workflow policy and need a maintainer run from |
|
Follow-up validation update:
Result:
Cleanup:
|
Serialize env-mutating core_process tests with a shared lock so OPENHUMAN_* overrides do not race under parallel test execution in CI. Made-with: Cursor
Resolves conflicts with the core RPC auth (tinyhumansai#881) and "staging in debug profile" (tinyhumansai#1044) changes that landed on main while this PR was open. CodeRabbit nits applied as part of the merge: - Cargo.toml: replace `#?` placeholder with the PR reference. - core_process.rs: dedupe shutdown/send_terminate_signal via a shared abort_task() helper. - lib.rs::run_core_from_args: drop the redundant args.to_vec() allocation and pass the slice through directly. Conflict resolution summary: app/src-tauri/src/core_process.rs - Keep the in-process / no-sidecar architecture from this PR (no `Child`, no `core_bin`, no `CoreRunMode`). - Pull in the auth token plumbing from main: generate_rpc_token, CURRENT_RPC_TOKEN, and an `rpc_token` field on the handle. Set OPENHUMAN_CORE_TOKEN as a process-global env var before spawning the embedded server so the same-process tokio task reads exactly what a child sidecar would have received via Command::env. Publish to CURRENT_RPC_TOKEN only after spawn, matching upstream's invariant that the global only advertises a token a running listener has actually accepted. - Note in the harness-attach fast-path warning that an external listener won't see this process's token — Tauri-side authenticated calls will 401 unless the harness was started with the same OPENHUMAN_CORE_TOKEN. app/src-tauri/src/core_process_tests.rs - Drop run_mode / default_core_bin / same_executable_path / sidecar-staging tests (functions removed in this PR). - Keep upstream's token-related tests, simplified for the slim `CoreProcessHandle::new(port)` constructor. app/src-tauri/src/lib.rs - Module list: keep `mod core_rpc` (auth helper used by various Tauri commands), drop `mod core_update` — core_update.rs is deleted with the rest of the sidecar update subsystem. - check_core_update: keep the no-op stub; the frontend wrapper keeps working via `tauri-plugin-updater`. app/src-tauri/src/core_update.rs - Stays deleted. Core ships with the desktop app now; per-binary update is via tauri-plugin-updater. .github/workflows/release.yml - Drop upstream's resolve-core-paths / build-sidecar / stage-sidecar / cli-paths block; sidecar build is gone. - Collapse the split core/Tauri Sentry symbols upload into a single step: linked openhuman_core symbols now live under the Tauri shell's target dir. - Preserve upstream's staging→debug profile path expression in the bundle artifact upload. app/src-tauri/Cargo.lock - Regenerated against the merged Cargo.toml.
Summary
default_core_binenv-override tests by serializing env-mutating cases to avoid CI race failuresTest plan
.github/workflows/release.ymlformat:check,lint,compile,rust:check)main; validated equivalent path via temporary branch/run and documented in PR commentsmain-only guardcargo test --manifest-path app/src-tauri/Cargo.tomlSummary by CodeRabbit
Chores
Tests
Note: No user-facing feature changes.