Skip to content

Fix durable rustBench Tauri startup from Wave - #12

Merged
brettheap merged 1 commit into
mainfrom
fix/rustbench-tauri-wave
Jul 25, 2026
Merged

Fix durable rustBench Tauri startup from Wave#12
brettheap merged 1 commit into
mainfrom
fix/rustbench-tauri-wave

Conversation

@brettheap

@brettheap brettheap commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • advance the rustBench submodule to the Tauri-capable release
  • apply the WSLg Compose override only when Wave runs under WSL
  • persist and repair ownership of the per-user Cargo cache
  • recreate containers missing the required rustBench mounts

Validation

  • bash -n scripts/wave-container-shell.sh
  • devBenches/scripts/test-helper-safety.sh
  • scripts/wave-container-shell.sh --check rustBench
  • pnpm install in profile-switcher
  • pnpm tauri dev reaches and runs the Tauri desktop binary under WSLg
  • rust-bench remains healthy with zero restarts

Summary by Sourcery

Improve rustBench container startup and durability, especially under Wave on WSL/WSLg.

Enhancements:

  • Conditionally apply the WSLg docker-compose override for rustBench only when running under WSL and ensure the override file is present.
  • Detect rustBench containers missing required mounts (including .cargo and WSLg paths) and recreate them with docker-compose.
  • Ensure per-user Cargo cache directory exists and has correct ownership inside the rustBench container.
  • Pre-create user-owned cache roots (.vscode-server extensions and .cargo) in the user-layer image so named volumes get correct non-root ownership.

Copilot AI review requested due to automatic review settings July 25, 2026 20:30
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@sourcery-ai

sourcery-ai Bot commented Jul 25, 2026

Copy link
Copy Markdown

🧙 Sourcery has finished reviewing your pull request!


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@brettheap

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@sourcery-ai sourcery-ai 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.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@brettheap
brettheap merged commit d75761f into main Jul 25, 2026
5 checks passed
@brettheap
brettheap deleted the fix/rustbench-tauri-wave branch July 25, 2026 20:33

Copilot AI 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.

Pull request overview

Improves Wave-driven workBench container startup durability for rust-bench, particularly under WSL/WSLg, by making mount selection more environment-aware and ensuring user cache directories don’t end up root-owned.

Changes:

  • Pre-create user-owned cache roots (~/.vscode-server/extensions and ~/.cargo) in the user-layer image so freshly-initialized named volumes inherit correct ownership.
  • Update wave-container-shell.sh to conditionally add the rustBench WSLg compose override only when /mnt/wslg is present, and to recreate rust-bench when required mounts are missing.
  • Add a startup step that repairs ownership of ~/.cargo inside rust-bench.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
user-layer/Dockerfile Pre-creates user-owned cache directories so initialized volumes don’t become root-owned.
scripts/wave-container-shell.sh Conditionally applies WSLg compose override, detects missing required mounts (incl. ~/.cargo), recreates containers when needed, and repairs Cargo cache ownership.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +327 to +331
ensure_user_cargo_cache() {
[[ "$container" == "rust-bench" ]] || return 0
docker exec --user root "$container" sh -c \
"mkdir -p '/home/${container_user}/.cargo' && chown -R '${container_user}:${container_user}' '/home/${container_user}/.cargo'"
}
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.

2 participants