CONTRIBUTING.md not updated #470

Closed
opened 2025-11-20 05:11:58 -05:00 by saavagebueno · 9 comments
Owner

Originally created by @Fantu on GitHub (Oct 11, 2023).

Hi, today I did a fast try to build a windows client with updated ICE (3b00ee9a42) to see if solves https://github.com/netbirdio/netbird/issues/1195
I saw that CONTRIBUTING.md is not updated:

  • show go require 1.19 but looking go.mod seems that atleast 1.20 is now required
  • about windows client show:
    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:
cd client
env GOOS=windows GOARCH=amd64 go build

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

Originally created by @Fantu on GitHub (Oct 11, 2023). 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: - show go require 1.19 but looking go.mod seems that atleast 1.20 is now required - about windows client show: `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: ``` cd client env GOOS=windows GOARCH=amd64 go build ``` 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
Author
Owner

@mlsmaycon commented on GitHub (Oct 17, 2023):

Thanks, @Fantu, for submitting this issue and for your intention to contribute. The PR #1226 is addressing your comments.

@mlsmaycon commented on GitHub (Oct 17, 2023): Thanks, @Fantu, for submitting this issue and for your intention to contribute. The PR #1226 is addressing your comments.
Author
Owner

@Fantu commented on GitHub (Oct 17, 2023):

@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?

@Fantu commented on GitHub (Oct 17, 2023): @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?
Author
Owner

@mlsmaycon commented on GitHub (Oct 17, 2023):

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.

@mlsmaycon commented on GitHub (Oct 17, 2023): 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.
Author
Owner

@Fantu commented on GitHub (Oct 17, 2023):

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"

@Fantu commented on GitHub (Oct 17, 2023): 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"
Author
Owner

@mlsmaycon commented on GitHub (Oct 17, 2023):

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?

@mlsmaycon commented on GitHub (Oct 17, 2023): 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?
Author
Owner

@Fantu commented on GitHub (Oct 17, 2023):

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)

@Fantu commented on GitHub (Oct 17, 2023): 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)
Author
Owner

@mlsmaycon commented on GitHub (Oct 17, 2023):

Sorry, I believe we missed the comment. I see that it was just approved and merged with no other visible comments.

@mlsmaycon commented on GitHub (Oct 17, 2023): Sorry, I believe we missed the comment. I see that it was just approved and merged with no other visible comments.
Author
Owner

@Fantu commented on GitHub (Oct 17, 2023):

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)

@Fantu commented on GitHub (Oct 17, 2023): 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)
Author
Owner

@Fantu commented on GitHub (Nov 21, 2023):

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

@Fantu commented on GitHub (Nov 21, 2023): 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
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#470