Without `--features servo-embed`, the servo-shell and app-shell stubs compile and print READY without running an actual WebView. This is the default and the CI baseline.
This fetches and compiles the Servo fork (`github.com/marcoallegretti/servo`, branch `servo-weft`). Expect 30–60 minutes on a clean build. Servo's dependencies include SpiderMonkey (C++), which requires `clang` and `python3`.
## Demo apps (wasm32-wasip2)
Each demo is a standalone crate in `examples/`. Pre-built `app.wasm` binaries are committed. To rebuild:
See `infra/nixos/weft-packages.nix` for the package derivations. The `outputHashes` entry for the Servo git dependency must be filled in before the `servo-embed` packages will build under Nix.
## CI
Three jobs run on every push to `main` and on pull requests:
-`cross-platform` — fmt, clippy, tests on Ubuntu and Windows (excludes Wayland crates)
-`linux-only` — clippy and tests for `weft-compositor`, `weft-servo-shell`, `weft-app-shell`
-`servo-embed-linux` — `cargo check --features servo-embed` for servo-shell and app-shell