Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Nov 23, 2025

Add comprehensive Linux build guide and Dockerfile

Summary

This PR adds documentation and tooling to help developers compile Hyprnote desktop on Linux. The changes include:

  1. Comprehensive Linux Build Guide (docs/linux-build-guide.md): A detailed 442-line guide covering:

    • System requirements and prerequisites (Node.js 22, pnpm 10.21.0, Rust 1.91.1)
    • Complete list of system dependencies extracted from CI scripts
    • Step-by-step build instructions for both development and production
    • Docker-based build instructions for reproducible environments
    • Troubleshooting section for common issues
    • Testing and verification steps
  2. Dockerfile for Linux Development (Dockerfile.linux-dev): A reproducible build environment based on Ubuntu 24.04 that:

    • Mirrors the CI configuration from .github/workflows/desktop_cd.yaml
    • Installs all system dependencies from scripts/setup-linux-tauri.sh and scripts/setup-linux-others.sh
    • Pre-installs Node.js 22, pnpm 10.21.0, and Rust 1.91.1
    • Includes cmake (discovered during iterative testing)
    • Pre-builds the UI package

Key Discovery: During iterative Docker testing, I discovered that cmake is required for building libsql-ffi but was not explicitly listed in the existing CI scripts. This has been added to both the Dockerfile and guide.

Review & Testing Checklist for Human

⚠️ CRITICAL - This PR has not been fully end-to-end tested:

  • Build the Docker image and verify it completes successfully: docker build -t hyprnote-linux-dev -f Dockerfile.linux-dev .
  • Run a full Tauri build inside Docker to completion: docker run --rm hyprnote-linux-dev pnpm -F desktop tauri build --bundles appimage --target x86_64-unknown-linux-gnu (this will take ~10-15 minutes)
  • Test the guide on a clean Ubuntu 22.04 system (bare metal or VM, not Docker) to verify all dependencies are correct
  • Test the guide on a clean Ubuntu 24.04 system to verify it works on both supported versions
  • Verify cmake dependency: Check if cmake should be added to scripts/setup-linux-tauri.sh or scripts/setup-linux-others.sh for consistency with CI

Notes

Testing Status: The Docker build was tested iteratively, and the build process started successfully and compiled hundreds of Rust crates. However, the initial build failed due to missing cmake, which I added to both the Dockerfile and guide. The final version with cmake has NOT been verified to complete a full build successfully - this needs to be tested by the reviewer.

Why This Matters: The user mentioned that dependency information was "scattered and not comprehensive in some way." This PR consolidates all dependency information from CI scripts into a single, comprehensive guide. However, the discovery of the missing cmake dependency suggests there may be other dependencies not captured in the existing CI scripts.

Recommendation: After verifying the build works, consider adding cmake to the CI setup scripts for consistency.

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

- Add detailed Linux build guide (docs/linux-build-guide.md) with:
  - Step-by-step compilation instructions
  - System requirements and prerequisites
  - Troubleshooting section
  - Docker build instructions
  - Verification and testing steps

- Add Dockerfile.linux-dev for reproducible builds:
  - Based on Ubuntu 24.04 (matching CI)
  - Includes all system dependencies from CI scripts
  - Pre-installs Node.js 22, pnpm 10.21.0, and Rust 1.91.1
  - Builds UI package as part of image creation

- All dependencies verified against CI configuration:
  - .github/workflows/desktop_cd.yaml
  - scripts/setup-linux-tauri.sh
  - scripts/setup-linux-others.sh

- Tested iteratively in Docker to ensure accuracy

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. Add '(aside)' to your comment to have me ignore it.
  • 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 Nov 23, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit cf0c040
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/692327c139f3b40008859beb
😎 Deploy Preview https://deploy-preview-1824--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.

@coderabbitai
Copy link

coderabbitai bot commented Nov 23, 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.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch devin/1763910563-linux-build-guide

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

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