From 5c90c458e73d8a95e35b8bee84aeba15767a6ed7 Mon Sep 17 00:00:00 2001 From: PizzaLovingNerd Date: Fri, 11 Sep 2026 12:29:19 -0700 Subject: [PATCH] docs: clarify contributor build and test prerequisites --- src/pages/contribute/development.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/contribute/development.mdx b/src/pages/contribute/development.mdx index 7d0d0ce1..cdd5ea6c 100644 --- a/src/pages/contribute/development.mdx +++ b/src/pages/contribute/development.mdx @@ -52,7 +52,7 @@ make lint-all make test-unit ``` -`make lint` checks files changed against `origin/main`; `make lint-all` runs the full-repository linter used by CI. `make test-unit` is the host-safe suite and runs without changing host networking. +`make lint` checks files changed against `origin/main`; `make lint-all` runs the full-repository linter used by CI. `make test-unit` is the host-safe suite and runs without changing host networking. It includes the desktop UI package, whose Go code embeds `client/ui/frontend/dist`. On a fresh checkout, complete the [Desktop UI](#desktop-ui) prerequisites and build before running the broad suite; a missing `frontend/dist` error means the assets have not been generated. For a service-only change, start with that service's package tests. For firewall, routing, interface management, and other privileged networking paths, run the contained privileged suite: @@ -60,7 +60,7 @@ For firewall, routing, interface management, and other privileged networking pat make test-privileged ``` -That target selects tests carrying the `privileged` build tag and runs them in a Docker container with elevated networking capabilities. It needs Docker and can take longer than the unit suite. Narrow runs with `PRIV_RUN` and `PRIV_PKGS` only as documented in the core contribution guide. +That target selects tests carrying the `privileged` build tag and runs them in a Docker container with elevated networking capabilities. It needs Docker and can take longer than the unit suite. Run it in a disposable VM with its own Go caches: the container can write root-owned files into bind-mounted caches, causing later host-side tests to fail with permission errors. Narrow runs with `PRIV_RUN` and `PRIV_PKGS` only as documented in the core contribution guide. Build or test an individual component when it gives faster feedback: @@ -80,7 +80,7 @@ Packages that use build tags, elevated privileges, concurrency, or operating-sys ## Desktop UI -The desktop application is built from `client/ui` in the core repository. Its current `Taskfile.yml` dispatches platform-specific Wails v3 builds. +The desktop application is built from `client/ui` in the core repository. Its current `Taskfile.yml` dispatches platform-specific Wails v3 builds. Install Node.js, pnpm, the `wails3` CLI, and the `task` runner using the core repository's [UI prerequisites](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#ui-client---wails-v3--react). Linux builds also require the WebKitGTK 6.0, GTK 4, and libsoup 3 development packages. ```bash cd client/ui