MarcyMUD
  • Rust 70.6%
  • Svelte 18.1%
  • TypeScript 6%
  • Python 4.9%
  • Shell 0.3%
Find a file
Marceline Boeh 81eda1180c
Some checks failed
Build / build (push) Failing after 24m17s
fix: read stdout instead of stderr in TauriTestApp
The Tauri app logs via tracing and println to stdout, not stderr.
TauriTestApp was reading stderr which received no output, causing
the discover_server_info function to block forever waiting for
server port and admin token that would never appear.

Also updated pattern matching to correctly parse:
- Server port from "ws://127.0.0.1:PORT/ws" format
- Admin token from "/admin?token=TOKEN" URL format

Fixes #90

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 18:10:31 -08:00
.chainlink/rules fix(app): expose docs routes from embedded server 2026-01-31 00:51:02 -08:00
.claude fix(app): expose docs routes from embedded server 2026-01-31 00:51:02 -08:00
.forgejo/workflows fix(ci): add GTK3 dev dependencies and cache cargo-xwin install 2026-02-02 21:56:29 -08:00
.github/workflows feat(ci): add basic CI workflow for checks and tests 2026-02-08 17:36:27 -08:00
crates fix: read stdout instead of stderr in TauriTestApp 2026-02-08 18:10:31 -08:00
docs docs: add E2E integration testing design plan 2026-02-08 13:27:03 -08:00
scripts feat: add Windows cross-compilation build script 2026-02-01 12:06:46 -08:00
src-frontend fix: remove unused LayoutData export from +layout.svelte 2026-02-08 16:52:06 -08:00
.gitignore chore: gitignore test-screenshots directory 2026-02-08 17:07:04 -08:00
.mcp.json fix(app): expose docs routes from embedded server 2026-01-31 00:51:02 -08:00
Cargo.toml fix: use tempfile for test database to avoid hardcoded /tmp paths 2026-02-02 17:30:29 -08:00
CHANGELOG.md docs: update changelog for CI improvements 2026-02-02 21:56:38 -08:00
CLAUDE.md docs: update CLAUDE.md for E2E testing infrastructure 2026-02-08 17:48:02 -08:00
README.md fix: address code review feedback for Phase 7 CI/CD Integration 2026-02-08 17:43:36 -08:00

MarcyMUD

A multiplayer text adventure game (MUD) built with Rust and Tauri.

Development

Prerequisites

  • Rust (install via rustup)
  • Node.js 18+ and npm
  • Tauri CLI: cargo install tauri-cli

Running in Development

# Start the Tauri desktop app in dev mode
cargo tauri dev

# Or run the standalone server
cargo run -p marcymud-server

Building

# Build for your current platform
cargo tauri build --debug

# Run all tests
cargo test --all

# TypeScript type checking
cd src-frontend && npm run check

Building for Windows (from macOS)

Cross-compile Windows NSIS installers from macOS using cargo-xwin.

Prerequisites

  1. Install LLVM (provides the linker):

    brew install llvm
    
  2. Add LLVM to PATH (add to ~/.zshrc or ~/.bashrc):

    # Apple Silicon Mac:
    export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
    
    # Intel Mac:
    export PATH="/usr/local/opt/llvm/bin:$PATH"
    

    Then restart your terminal or run source ~/.zshrc

  3. Install NSIS (creates the Windows installer):

    brew install nsis
    
  4. Add Windows Rust target:

    rustup target add x86_64-pc-windows-msvc
    
  5. Install cargo-xwin:

    cargo install --locked cargo-xwin
    

Building

Run the build script:

./scripts/build-windows.sh

The script checks all prerequisites and provides helpful error messages if anything is missing.

Output location: target/x86_64-pc-windows-msvc/release/bundle/nsis/

Notes

  • Unsigned builds: The installer is not code-signed. Windows SmartScreen will show a warning on first run. Click "More info" then "Run anyway" to proceed.
  • 64-bit only: Builds target 64-bit Windows (x86_64). 32-bit is not supported.
  • First build: Takes longer due to Windows SDK download (cached for subsequent builds).

License

[Add license information here]