Browse Source

disable CGO for all builds

Matthew R. Kasun 3 years ago
parent
commit
666faaa867

+ 7 - 7
.github/workflows/buildandrelease.yml

@@ -33,14 +33,14 @@ jobs:
 
       - name: Build
         run: |
-          env GOOS=linux GOARCH=amd64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netmaker main.go
+          env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netmaker main.go
           cd netclient
-          env GOOS=linux GOARCH=amd64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient main.go
-          env GOOS=linux GOARCH=arm GOARM=5 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm5/netclient main.go
-          env GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm6/netclient main.go
-          env GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm7/netclient main.go
-          env GOOS=linux GOARCH=arm64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm64/netclient main.go
-          env GOOS=linux GOARCH=mipsle go build -ldflags "-s -w -X 'main.version=$NETMAKER_VERSION'" -o build/netclient-mipsle/netclient main.go && upx build/netclient-mipsle/netclient
+          env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient main.go
+          env CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=5 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm5/netclient main.go
+          env CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm6/netclient main.go
+          env CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm7/netclient main.go
+          env CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-arm64/netclient main.go
+          env CGO_ENABLED=0 GOOS=linux GOARCH=mipsle go build -ldflags "-s -w -X 'main.version=$NETMAKER_VERSION'" -o build/netclient-mipsle/netclient main.go && upx build/netclient-mipsle/netclient
           env CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -ldflags="-X 'main.Version=${NETMAKER_VERSION}'" -o build/netclient-freebsd/netclient main.go
           env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=5 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm5/netclient main.go
           env CGO_ENABLED=0 GOOS=freebsd GOARCH=arm GOARM=6 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-freebsd-arm6/netclient main.go

+ 2 - 2
.github/workflows/test-artifacts.yml

@@ -45,7 +45,7 @@ jobs:
             - name: build client
               run: |
                 cd netclient
-                go build -ldflags="-X 'main.version=testing'" -o build/netclient
+                env CGO_ENABLED=0 go build -ldflags="-X 'main.version=testing'" -o build/netclient
             - name: deploy
               uses: mdallasanta/[email protected]
               with:
@@ -71,7 +71,7 @@ jobs:
                 go-version: 1.17
             - name: build server
               run:
-                go build -ldflags="-X 'main.version=testing'" -o build/netmaker
+                env CGO_ENABLED=0 go build -ldflags="-X 'main.version=testing'" -o build/netmaker
             - name: deploy
               uses: mdallasanta/[email protected]
               with:

+ 5 - 5
.github/workflows/test.yml

@@ -15,12 +15,12 @@ jobs:
             go-version: 1.17
       - name: Build
         run: |
-         env GOOS=linux GOARCH=amd64 go build main.go
+         env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
          cd netclient
-         env GOOS=linux GOARCH=amd64 go build main.go
-         env GOOS=freebsd GOARCH=amd64 go build main.go
-         env GOOS=darwin GOARCH=amd64 go build main.go
-         env GOOS=windows GOARCH=amd64 go build main.go
+         env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
+         env CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build main.go
+         env CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
+         env CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
   tests:
     env:
       DATABASE: sqlite

+ 1 - 1
Dockerfile

@@ -6,7 +6,7 @@ WORKDIR /app
 COPY . .
 ENV GO111MODULE=auto
 
-RUN GOOS=linux CGO_ENABLED=1 go build -ldflags="-s -X 'main.version=${version}'" -o netmaker main.go
+RUN GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -X 'main.version=${version}'" -o netmaker main.go
 FROM alpine:3.14.3
 
 # add a c lib

+ 1 - 1
docker/Dockerfile-full

@@ -8,7 +8,7 @@ WORKDIR /app
 
 ENV GO111MODULE=auto
 
-RUN GOARCH=amd64 CGO_ENABLED=1 GOOS=linux go build -ldflags="-w -s" -o app main.go
+RUN GOARCH=amd64 CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -o app main.go
 
 WORKDIR /app/netclient
 

+ 1 - 1
docker/Dockerfile-netmaker-slim

@@ -7,7 +7,7 @@ COPY . .
 
 ENV GO111MODULE=auto
 
-RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
+RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
 
 FROM alpine:3.13.6
 # add a c lib

+ 1 - 1
scripts/build-binaries.sh

@@ -1,7 +1,7 @@
 #!/bin/bash
 
 #server build
-env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -ldflags="-X 'main.version=$VERSION'" -o netclient/build/netmaker main.go
+env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-X 'main.version=$VERSION'" -o netclient/build/netmaker main.go
 
 cd netclient