Closed Fantu closed 12 months ago
Thanks, @Fantu, for submitting this issue and for your intention to contribute. The PR #1226 is addressing your comments.
@mlsmaycon thanks, why in updated CONTRIBUTING you put go 1.21 but go.mod have 1.20? in my build test I used 1.21 on debian unstable install I also use for debian packaging
about client build howto no other info are needed? I taken a time to found them in repo, was for missed Go knowledge while expert Go developers don't need it because it's basic?
We are preparing for an update to go 1.21, as they are compatible. Now that you mentioned it, I missed adding the explicit flag to disable CGO:
CGO_ENABLED=0 go build .
This should be it. I will update the guide.
in first PR I also added a comment for a typo still present I also tried build netbird-ui following https://github.com/netbirdio/netbird/blob/main/.goreleaser_ui.yaml I added "CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc" but when I tried to use it have issue, probably something was missed on both command I also used "GOOS=windows GOARCH=amd64"
Is an issue preventing from starting the UI? Do you have a log message? Maybe opening from powershell will display the error.
Regarding the typo, can you share it again?
the typo is in the only review comment done before your merge: https://github.com/netbirdio/netbird/pull/1226
now on the tests device I restored stable netbird binaries when there will be correct/full build procedure (if my was incomplete, I don't know) and/or will be other possible fix to "reconnect loop" I'll rebuild and redo the tests and I'll take and post details on netbird-ui issue (if still present)
Sorry, I believe we missed the comment. I see that it was just approved and merged with no other visible comments.
build procedure I used for my previous test, did on debian unstable with go 1.21 from system package:
go install github.com/akavel/rsrc@v0.10.2
/home/fabio/go/bin/rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_amd64.syso
cd client/
env GOOS=windows GOARCH=amd64 go build
/home/fabio/go/bin/rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/ui/manifest.xml -o client/ui/resources_windows_amd64.syso
cd client/ui/
env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build
after I taken the generated binaries, renamed and replaced on windows devices used for tests (I closed netbird-ui and did "netbird down" before replace them)
Thanks for the update and improvements to CONTRIBUTING.md https://github.com/netbirdio/netbird/pull/1323 will add also more detailed build instruction for windows client and installer, so I think this issue can be closed
Hi, today I did a fast try to build a windows client with updated ICE (https://github.com/M2Rbiz/netbird/commit/3b00ee9a4241b26f313a6cdfcef8d7891a4a7809) to see if solves https://github.com/netbirdio/netbird/issues/1195 I saw that CONTRIBUTING.md is not updated:
Windows clients have a Wireguard driver requirement. We provide a bash script that can be executed in WLS 2 with docker support [wireguard_nt.sh](https://github.com/client/wireguard_nt.sh).
but wireguard_nt.sh was removed, so I tried to look https://github.com/netbirdio/netbird/blob/main/.github/workflows/release.yml I executed:rsrc -arch amd64 -ico client/ui/netbird.ico -manifest client/manifest.xml -o client/resources_windows_amd64.syso
without error but I not understand other things related to build, probably is because I don't have enough knowledge, looking workflow seems build on windows is not needed, is correct or wrong? about gorelease action I don't understand what should do exactly (I suppose use .goreleaser.yaml) but I don't understand what I should do in manual custom build I tried to do:generated a client.exe I'll try to use it as replace of netbird.exe on 1-2 device
can someone tell me the updated and correct instruction please? I suggest to update also CONTRIBUTING.md with them thanks for any reply and sorry for my bad english