Skip to content

feat(just): add desktop-release-run to test a checkout with the installed app's state - #6915

Open
baxen wants to merge 1 commit into
mainfrom
fizz/just-desktop-run-release
Open

feat(just): add desktop-release-run to test a checkout with the installed app's state#6915
baxen wants to merge 1 commit into
mainfrom
fizz/just-desktop-run-release

Conversation

@baxen

@baxen baxen commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Why

"Run Buzz from my checkout, but with my real identity, communities, and agents" had no recipe. Every tauri dev recipe (dev, staging, production, desktop-standalone) is a debug build, and debug builds are hardwired to the dev stores:

debug (tauri dev) release / installed DMG
keyring buzz-desktop-dev* (app_state_keyring.rs:10, cfg!(debug_assertions)) buzz-desktop
app-data xyz.block.buzz.app.dev.* (scripts/instance-env.sh) xyz.block.buzz.app
nest ~/.buzz-dev (managed_agents/nest.rs) ~/.buzz

desktop-standalone additionally scopes the keyring per-instance (buzz-desktop-dev.<slug>), so each checkout starts from onboarding. just production only changes the relay URL; the agent roster is still the dev one.

What

just desktop-release-run (macOS):

  1. builds release sidecars and copies them into desktop/src-tauri/binaries/
  2. pnpm tauri build --no-sign --bundles app with the stock tauri.conf.json (no --config), so the bundle id is xyz.block.buzz.app
  3. asserts the bundle id before launching
  4. quits the running Buzz (tauri-plugin-single-instance would otherwise forward the launch to the installed app) and opens the new bundle

Mesh is opt-in via mesh=1, matching the other desktop recipes. Unsigned, local-testing only.

Verified

Ran the recipe body on this branch (base cada3028c): cold release build ~4.5 min, bundle id xyz.block.buzz.app, all 6 sidecars + buzz-desktop present in Contents/MacOS. just --list renders the one-line doc; just -n expands cleanly.

…lled app's state

Every tauri-dev recipe (dev, staging, production, desktop-standalone) is a
debug build, and debug builds are hardwired to the dev keyring, the
xyz.block.buzz.app.dev.* app-data dir, and the ~/.buzz-dev nest. None of
them can open the installed app's identity, communities, or managed agents,
so 'run the app with my real setup plus my code changes' had no recipe.

desktop-release-run builds release sidecars and an unsigned release
Buzz.app with the stock tauri.conf.json identifier, verifies the bundle id
is xyz.block.buzz.app, quits the running Buzz (single-instance would
otherwise forward the launch to it), and opens the new bundle. macOS only;
mesh opt-in via mesh=1 like the other recipes.

Signed-off-by: Fizz <400e8babadcee6a7f420103f10a2849d84c4a9c71d5bd04f3948c814216648a3@buzz.block.builderlab.xyz>
@baxen
baxen requested a review from a team as a code owner August 27, 2026 01:56

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ad280807fe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Justfile
# Must NOT pass --config: the stock tauri.conf.json identifier is what maps
# this build onto the installed app's state.
pnpm tauri build --no-sign --bundles app ${FEATURES[@]+"${FEATURES[@]}"}
APP="${TARGET_DIR}/release/bundle/macos/Buzz.app"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Read the bundle from the Tauri target directory

TARGET_DIR comes from cargo metadata executed at the repository root, so without an explicit CARGO_TARGET_DIR it resolves to <repo>/target. The desktop crate is excluded from that workspace, and pnpm tauri build runs in its separate workspace under desktop/src-tauri, producing the app at <repo>/desktop/src-tauri/target/release/bundle/macos/Buzz.app. Consequently, on a normal macOS checkout the subsequent defaults read targets a nonexistent bundle and the new recipe fails after completing the release build instead of launching the app.

Useful? React with 👍 / 👎.

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