From 34a47445658e3e0aa7a55e2b80f3efa9bfdf4747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Papp?= Date: Wed, 20 May 2026 11:19:34 +0200 Subject: [PATCH] [ci] Wire wails3 bindings generation into darwin UI release The release_ui_darwin job builds the macOS UI bundle from .goreleaser_ui_darwin.yaml, but cccb0e92 only added the wails3 CLI install + bindings-regen hook to the Linux side (release.yml release_ui job and .goreleaser_ui.yaml). The darwin counterpart still ran pnpm build against the gitignored, empty bindings/ directory and failed with ~40 TS2307 "Cannot find module '@bindings/...'" errors. Mirror the Linux setup on darwin: install wails3 from the version pinned in go.mod, and run `wails3 generate bindings -clean=true -ts` as the first goreleaser before-hook so vite can resolve @bindings/* by the time pnpm build starts. --- .github/workflows/release.yml | 6 ++++++ .goreleaser_ui_darwin.yaml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7c7424bfe..7c164000e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -463,6 +463,12 @@ jobs: uses: pnpm/action-setup@v3 with: version: 9 + - name: Install wails3 CLI + # Version derived from go.mod so the binding generator always matches + # the wails runtime the binary links against. + run: | + WAILS_VERSION=$(go list -m -f '{{.Version}}' github.com/wailsapp/wails/v3) + go install github.com/wailsapp/wails/v3/cmd/wails3@$WAILS_VERSION - name: Run GoReleaser id: goreleaser uses: goreleaser/goreleaser-action@v4 diff --git a/.goreleaser_ui_darwin.yaml b/.goreleaser_ui_darwin.yaml index 441269aa8..96e15371a 100644 --- a/.goreleaser_ui_darwin.yaml +++ b/.goreleaser_ui_darwin.yaml @@ -4,6 +4,10 @@ project_name: netbird-ui before: hooks: + # Bindings are gitignored; regenerate before the frontend build so + # the @wailsio/runtime Vite plugin can resolve them (vite refuses to + # build without them). + - sh -c 'cd client/ui && wails3 generate bindings -clean=true -ts' - sh -c 'cd client/ui/frontend && pnpm install --frozen-lockfile && pnpm build' builds: