Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Dec 20, 2025

feat(e2e): migrate to CrabNebula tauri-e2e-tests for macOS support

Summary

This PR migrates the e2e testing infrastructure to use CrabNebula's @crabnebula/tauri-driver package, which provides macOS support for Tauri e2e tests via their webdriver implementation.

Key changes:

  • Added CrabNebula packages (@crabnebula/tauri-driver, @crabnebula/test-runner-backend, @crabnebula/webdriverio-cloud-reporter) to e2e/blackbox
  • Updated wdio config to use waitTauriDriverReady() for proper driver initialization and added macOS-specific onPrepare hook that starts test-runner-backend when CN_API_KEY is set
  • Added tauri-plugin-automation as an optional dependency with automation feature flag for macOS e2e testing support
  • Changed tauri-driver invocation from direct binary path to pnpm tauri-driver

Updates since last revision

  • Fixed timing issue with tauri-driver startup by increasing connectionRetryCount from 0 to 3
  • Verified e2e tests pass on Linux locally (3 passing tests in 15s)

Review & Testing Checklist for Human

  • Test on macOS: Run the e2e tests on macOS with CN_API_KEY set to verify the CrabNebula integration works
  • Test the automation feature flag: Build with --features automation and verify the plugin is registered correctly on macOS

Recommended test plan for macOS:

# Build with automation feature
pnpm -F desktop tauri build --features automation

# Run e2e tests
cd e2e/blackbox
CN_API_KEY=cn_OUz3WLKsYgrO1TcXy19C9cYcefoJebiSIetkQS_kHbLh14NeI_kavhKRW81U5ILbBn3PphRBPGrQk8M7cJHRDw pnpm test

Notes

Link to Devin run: https://app.devin.ai/sessions/865b1b66e8684f248af03374dca5314f
Requested by: yujonglee (@yujonglee)

- Add @crabnebula/tauri-driver, @crabnebula/test-runner-backend, and
  @crabnebula/webdriverio-cloud-reporter to e2e/blackbox
- Update wdio.blackbox.conf.ts to use CrabNebula's waitTauriDriverReady
  and waitTestRunnerBackendReady for proper driver initialization
- Add macOS-specific onPrepare hook that starts test-runner-backend
  and sets REMOTE_WEBDRIVER_URL when CN_API_KEY is available
- Add tauri-plugin-automation as optional dependency with 'automation'
  feature flag for macOS e2e testing support
- Register automation plugin in lib.rs when feature is enabled

Co-Authored-By: yujonglee <[email protected]>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@netlify
Copy link

netlify bot commented Dec 20, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit 2800930
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/694647861c8e0f0008b79c36
😎 Deploy Preview https://deploy-preview-2437--hyprnote-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 20, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@netlify
Copy link

netlify bot commented Dec 20, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit 2800930
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/69464786f0963900085ce229
😎 Deploy Preview https://deploy-preview-2437--hyprnote.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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