Browse Source

fix for gui builds

Matthew R. Kasun 3 years ago
parent
commit
0f0f2a7092
1 changed files with 26 additions and 36 deletions
  1. 26 36
      .github/workflows/buildandrelease.yml

+ 26 - 36
.github/workflows/buildandrelease.yml

@@ -38,7 +38,7 @@ jobs:
           fi
           fi
           echo "::set-output name=tag::${{ env.NETMAKER_VERSION }}"
           echo "::set-output name=tag::${{ env.NETMAKER_VERSION }}"
           echo "::set-output name=version::${{ env.PACKAGE_VERSION }}"
           echo "::set-output name=version::${{ env.PACKAGE_VERSION }}"
-  netmaker:        
+  netmaker:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     needs: version
     needs: version
     steps:
     steps:
@@ -107,14 +107,14 @@ jobs:
       - name: build gui
       - name: build gui
         run: |
         run: |
           sudo apt-get install -y gcc libgl1-mesa-dev xorg-dev
           sudo apt-get install -y gcc libgl1-mesa-dev xorg-dev
-          env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient main.go
+          go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-gui .
 
 
       - name: Upload netclient x86 gui to Release
       - name: Upload netclient x86 gui to Release
         continue-on-error: true
         continue-on-error: true
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
           repo_token: ${{ secrets.GITHUB_TOKEN }}
           repo_token: ${{ secrets.GITHUB_TOKEN }}
-          file: netclient/build/netclient
+          file: netclient/build/netclient-gui
           tag: ${{ env.NETMAKER_VERSION }}
           tag: ${{ env.NETMAKER_VERSION }}
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
@@ -144,13 +144,13 @@ jobs:
         with:
         with:
           fpm_args: './netclient/build/netclient=/sbin/netclient ./netclient/build/netclient.service=/lib/systemd/system/netclient.service'
           fpm_args: './netclient/build/netclient=/sbin/netclient ./netclient/build/netclient.service=/lib/systemd/system/netclient.service'
           fpm_opts: '-s dir -t rpm --architecture amd64 --version ${{ env.PACKAGE_VERSION }}'
           fpm_opts: '-s dir -t rpm --architecture amd64 --version ${{ env.PACKAGE_VERSION }}'
-          
+
       - name: Upload x86 rpm to Release
       - name: Upload x86 rpm to Release
         continue-on-error: true
         continue-on-error: true
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
           repo_token: ${{ secrets.GITHUB_TOKEN }}
           repo_token: ${{ secrets.GITHUB_TOKEN }}
-          file: netclient-${{ env.PACKAGE_VERSION }}-1.x86_64.rpm 
+          file: netclient-${{ env.PACKAGE_VERSION }}-1.x86_64.rpm
           tag: ${{ env.NETMAKER_VERSION }}
           tag: ${{ env.NETMAKER_VERSION }}
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
@@ -201,17 +201,17 @@ jobs:
 
 
       - name: Upload arm5 to Release
       - name: Upload arm5 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
-        with: 
-          repo_token: ${{ secrets.GITHUB_TOKEN }} 
+        with:
+          repo_token: ${{ secrets.GITHUB_TOKEN }}
           file: netclient/build/netclient-arm5/netclient
           file: netclient/build/netclient-arm5/netclient
           tag: ${{ env.NETMAKER_VERSION }}
           tag: ${{ env.NETMAKER_VERSION }}
-          overwrite: true 
+          overwrite: true
           prerelease: true
           prerelease: true
           asset_name: netclient-arm5
           asset_name: netclient-arm5
 
 
       - name: Upload arm6 to Release
       - name: Upload arm6 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
-        with: 
+        with:
           repo_token: ${{ secrets.GITHUB_TOKEN }}
           repo_token: ${{ secrets.GITHUB_TOKEN }}
           file: netclient/build/netclient-arm6/netclient
           file: netclient/build/netclient-arm6/netclient
           tag: ${{ env.NETMAKER_VERSION }}
           tag: ${{ env.NETMAKER_VERSION }}
@@ -228,7 +228,7 @@ jobs:
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
           asset_name: netclient-arm7
           asset_name: netclient-arm7
-     
+
       - name: Upload arm64 to Release
       - name: Upload arm64 to Release
         continue-on-error: true
         continue-on-error: true
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
@@ -305,7 +305,7 @@ jobs:
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
           asset_name: netclient-mipsle
           asset_name: netclient-mipsle
-   
+
   netclient-freebsd:
   netclient-freebsd:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     needs: version
     needs: version
@@ -339,8 +339,8 @@ jobs:
           tag: ${{ env.NETMAKER_VERSION }}
           tag: ${{ env.NETMAKER_VERSION }}
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
-          asset_name: netclient-freebsd      
-          
+          asset_name: netclient-freebsd
+
       - name: Upload freebsd-arm5 to Release
       - name: Upload freebsd-arm5 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
@@ -350,7 +350,7 @@ jobs:
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
           asset_name: netclient-freebsd-arm5
           asset_name: netclient-freebsd-arm5
-          
+
       - name: Upload freebsd-arm6 to Release
       - name: Upload freebsd-arm6 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
@@ -360,7 +360,7 @@ jobs:
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
           asset_name: netclient-freebsd-arm6
           asset_name: netclient-freebsd-arm6
-          
+
       - name: Upload freebsd-arm7 to Release
       - name: Upload freebsd-arm7 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
@@ -370,7 +370,7 @@ jobs:
           overwrite: true
           overwrite: true
           prerelease: true
           prerelease: true
           asset_name: netclient-freebsd-arm7
           asset_name: netclient-freebsd-arm7
-          
+
       - name: Upload freebsd-arm64 to Release
       - name: Upload freebsd-arm64 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
@@ -393,15 +393,16 @@ jobs:
           VERSION=${{needs.version.outputs.version}}
           VERSION=${{needs.version.outputs.version}}
           echo "NETMAKER_VERSION=${TAG}"  >> $GITHUB_ENV
           echo "NETMAKER_VERSION=${TAG}"  >> $GITHUB_ENV
           echo "PACKAGE_VERSION=${VERSION}" >> $GITHUB_ENV
           echo "PACKAGE_VERSION=${VERSION}" >> $GITHUB_ENV
-      - name: Setup go                                    
-        uses: actions/setup-go@v2                        
-        with:                                           
+      - name: Setup go
+        uses: actions/setup-go@v2
+        with:
           go-version: 1.18
           go-version: 1.18
-      - name: Build                                   
-        run: |                                       
-          cd netclient                              
-          env CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-darwin/netclient main.go
-          env CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-darwin-arm64/netclient main.go
+      - name: Build
+        run: |
+          cd netclient
+          env GOOS=darwin GOARCH=amd64 go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-darwin/netclient .
+          # arm64 gui version has build constraint  fyne.io issue 2973
+          env GOOS=darwin GOARCH=arm64 go build -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient-darwin-arm64/netclient main.go
       - name: Upload darwin-amd64 to Release
       - name: Upload darwin-amd64 to Release
         uses: svenstaro/upload-release-action@v2
         uses: svenstaro/upload-release-action@v2
         with:
         with:
@@ -452,7 +453,7 @@ jobs:
           go get -v github.com/josephspurrier/goversioninfo
           go get -v github.com/josephspurrier/goversioninfo
           go install -v github.com/josephspurrier/goversioninfo/cmd/goversioninfo
           go install -v github.com/josephspurrier/goversioninfo/cmd/goversioninfo
           go generate
           go generate
-          go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient.exe main.go
+          go build -tags=gui -ldflags="-X 'main.version=${NETMAKER_VERSION}'" -o build/netclient.exe .
 
 
       - name: Upload netclient windows to Release
       - name: Upload netclient windows to Release
         continue-on-error: true
         continue-on-error: true
@@ -479,14 +480,3 @@ jobs:
           repository: gravitl/netmaker-devops
           repository: gravitl/netmaker-devops
           event-type: build-packages
           event-type: build-packages
           client-payload: '{"VERSION": "${{ env.PACKAGE_VERSION }}"}'
           client-payload: '{"VERSION": "${{ env.PACKAGE_VERSION }}"}'
-
-      - name: Upload netclient windows gui to Release
-        continue-on-error: true
-        uses: svenstaro/upload-release-action@v2
-        with:
-          repo_token: ${{ secrets.GITHUB_TOKEN }}
-          file: netclient/build/netclient-gui.exe
-          tag: ${{ env.NETMAKER_VERSION }}
-          overwrite: true
-          prerelease: true
-          asset_name: netclient-gui.exe