mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-20 15:49:55 +00:00
The bindings under client/ui/frontend/bindings are gitignored (1ebb507),
so the release UI job has to regenerate them before pnpm build — the
@wailsio/runtime Vite plugin refuses to build without them. Add a
wails3 CLI install step (version derived from go.mod via go list -m,
so it stays in sync with the runtime the binary links against), plus a
goreleaser before-hook that runs `wails3 generate bindings -clean=true
-ts` ahead of the existing pnpm install + pnpm build pair.
Bump github.com/wailsapp/wails/v3 to v3.0.0-alpha.91 in the process.
The @wailsio/runtime npm package stays at "latest" since the registry
only goes up to alpha.79 — the binding generator and the runtime stay
compatible across that gap until the binding shape changes.
133 lines
3.7 KiB
YAML
133 lines
3.7 KiB
YAML
version: 2
|
|
|
|
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:
|
|
- id: netbird-ui
|
|
dir: client/ui
|
|
binary: netbird-ui
|
|
env:
|
|
- CGO_ENABLED=1
|
|
goos:
|
|
- linux
|
|
goarch:
|
|
- amd64
|
|
ldflags:
|
|
- -s -w -X github.com/netbirdio/netbird/version.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.CommitDate}} -X main.builtBy=goreleaser
|
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
|
|
|
- id: netbird-ui-windows-amd64
|
|
dir: client/ui
|
|
binary: netbird-ui
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=x86_64-w64-mingw32-gcc
|
|
goos:
|
|
- windows
|
|
goarch:
|
|
- amd64
|
|
ldflags:
|
|
- -s -w -X github.com/netbirdio/netbird/version.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.CommitDate}} -X main.builtBy=goreleaser
|
|
- -H windowsgui
|
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
|
|
|
- id: netbird-ui-windows-arm64
|
|
dir: client/ui
|
|
binary: netbird-ui
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=aarch64-w64-mingw32-clang
|
|
- CXX=aarch64-w64-mingw32-clang++
|
|
goos:
|
|
- windows
|
|
goarch:
|
|
- arm64
|
|
ldflags:
|
|
- -s -w -X github.com/netbirdio/netbird/version.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.CommitDate}} -X main.builtBy=goreleaser
|
|
- -H windowsgui
|
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
|
|
|
archives:
|
|
- id: linux-arch
|
|
name_template: "{{ .ProjectName }}-linux_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
|
builds:
|
|
- netbird-ui
|
|
- id: windows-arch
|
|
name_template: "{{ .ProjectName }}-windows_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
|
builds:
|
|
- netbird-ui-windows-amd64
|
|
- netbird-ui-windows-arm64
|
|
|
|
nfpms:
|
|
- maintainer: Netbird <dev@netbird.io>
|
|
description: Netbird client UI.
|
|
homepage: https://netbird.io/
|
|
id: netbird_ui_deb
|
|
package_name: netbird-ui
|
|
builds:
|
|
- netbird-ui
|
|
formats:
|
|
- deb
|
|
scripts:
|
|
postinstall: "release_files/ui-post-install.sh"
|
|
contents:
|
|
- src: client/ui/build/linux/netbird.desktop
|
|
dst: /usr/share/applications/netbird.desktop
|
|
- src: client/ui/build/appicon.png
|
|
dst: /usr/share/pixmaps/netbird.png
|
|
dependencies:
|
|
- netbird
|
|
- libgtk-3-0
|
|
- libwebkit2gtk-4.1-0
|
|
- libayatana-appindicator3-1
|
|
|
|
- maintainer: Netbird <dev@netbird.io>
|
|
description: Netbird client UI.
|
|
homepage: https://netbird.io/
|
|
id: netbird_ui_rpm
|
|
package_name: netbird-ui
|
|
builds:
|
|
- netbird-ui
|
|
formats:
|
|
- rpm
|
|
scripts:
|
|
postinstall: "release_files/ui-post-install.sh"
|
|
contents:
|
|
- src: client/ui/build/linux/netbird.desktop
|
|
dst: /usr/share/applications/netbird.desktop
|
|
- src: client/ui/build/appicon.png
|
|
dst: /usr/share/pixmaps/netbird.png
|
|
dependencies:
|
|
- netbird
|
|
- gtk3
|
|
- webkit2gtk4.1
|
|
- libayatana-appindicator-gtk3
|
|
rpm:
|
|
signature:
|
|
key_file: '{{ if index .Env "GPG_RPM_KEY_FILE" }}{{ .Env.GPG_RPM_KEY_FILE }}{{ end }}'
|
|
|
|
uploads:
|
|
- name: debian
|
|
ids:
|
|
- netbird_ui_deb
|
|
mode: archive
|
|
target: https://pkgs.wiretrustee.com/debian/pool/{{ .ArtifactName }};deb.distribution=stable;deb.component=main;deb.architecture={{ if .Arm }}armhf{{ else }}{{ .Arch }}{{ end }};deb.package=
|
|
username: dev@wiretrustee.com
|
|
method: PUT
|
|
|
|
- name: yum
|
|
ids:
|
|
- netbird_ui_rpm
|
|
mode: archive
|
|
target: https://pkgs.wiretrustee.com/yum/{{ .Arch }}{{ if .Arm }}{{ .Arm }}{{ end }}
|
|
username: dev@wiretrustee.com
|
|
method: PUT
|