mirror of
				https://github.com/h44z/wg-portal.git
				synced 2025-11-03 23:56:18 +00:00 
			
		
		
		
	WIP: use gox for cross platform compiling, try to enable cross platform cgo builds
This commit is contained in:
		
							
								
								
									
										17
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								.travis.yml
									
									
									
									
									
								
							@@ -1,11 +1,19 @@
 | 
				
			|||||||
language: go
 | 
					language: go
 | 
				
			||||||
sudo: false
 | 
					dist: bionic
 | 
				
			||||||
 | 
					sudo: required
 | 
				
			||||||
go:
 | 
					go:
 | 
				
			||||||
  - tip # Latest go version
 | 
					  - 1.16.x # Latest go version
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  - azure-linux
 | 
				
			||||||
 | 
					  - GO111MODULE=on
 | 
				
			||||||
 | 
					addons:
 | 
				
			||||||
 | 
					  apt:
 | 
				
			||||||
 | 
					    packages:
 | 
				
			||||||
 | 
					      - gcc-multilib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
before_install:
 | 
					before_install:
 | 
				
			||||||
  # gox simplifies building for multiple architectures
 | 
					  # gox simplifies building for multiple architectures
 | 
				
			||||||
  - go get github.com/mitchellh/gox
 | 
					  - go get github.com/necrose99/gox
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install:
 | 
					install:
 | 
				
			||||||
  - # skip
 | 
					  - # skip
 | 
				
			||||||
@@ -14,7 +22,8 @@ script:
 | 
				
			|||||||
  - go get -t -v ./...
 | 
					  - go get -t -v ./...
 | 
				
			||||||
  - diff -u <(echo -n) <(gofmt -d .)
 | 
					  - diff -u <(echo -n) <(gofmt -d .)
 | 
				
			||||||
  - go vet $(go list ./... | grep -v /vendor/)
 | 
					  - go vet $(go list ./... | grep -v /vendor/)
 | 
				
			||||||
  - gox -cgo -os="linux" -arch="amd64 arm arm64" -output="dist/{{.Dir}}_{{.OS}}_{{.Arch}}" -ldflags "-X main.Version=`git rev-parse --short HEAD`" -verbose ./...
 | 
					  - sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-arm-linux-gnueabihf libc6-dev-armhf-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross
 | 
				
			||||||
 | 
					  - GOX_linux_arm_LDFLAGS="-linkmode external -extldflags -static" GOX_linux_arm_CC=arm-linux-gnueabi-gcc GOX_linux_arm64_LDFLAGS="-linkmode external -extldflags -static" GOX_linux_arm64_CC=aarch64-linux-gnu-gcc gox -rebuild -parallel=1 -verbose -cgo -os="linux" -arch="amd64 arm arm64" -output="dist/{{.Dir}}_{{.OS}}_{{.Arch}}" -ldflags "-X main.Version=`git rev-parse --short HEAD`" -verbose ./...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
deploy:
 | 
					deploy:
 | 
				
			||||||
  provider: releases
 | 
					  provider: releases
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@@ -14,10 +14,10 @@ build: dep
 | 
				
			|||||||
	mkdir -p $(BUILDDIR)
 | 
						mkdir -p $(BUILDDIR)
 | 
				
			||||||
	cp scripts/wg-portal.service $(BUILDDIR)
 | 
						cp scripts/wg-portal.service $(BUILDDIR)
 | 
				
			||||||
	cp scripts/wg-portal.env $(BUILDDIR)
 | 
						cp scripts/wg-portal.env $(BUILDDIR)
 | 
				
			||||||
	gox -cgo -os="linux" -arch="amd64 arm arm64" -output="dist/{{.Dir}}_{{.OS}}_{{.Arch}}" -ldflags "-X main.Version=`git rev-parse --short HEAD`" -verbose ./...
 | 
						GOX_linux_arm_LDFLAGS="-linkmode external -extldflags -static" GOX_linux_arm_CC=arm-linux-gnueabihf-gcc GOX_linux_arm64_LDFLAGS="-linkmode external -extldflags -static" GOX_linux_arm64_CC=aarch64-linux-gnu-gcc gox -rebuild -parallel=1 -verbose -cgo -os="linux" -arch="amd64 arm arm64" -output="dist/{{.Dir}}_{{.OS}}_{{.Arch}}" -ldflags "-X main.Version=`git rev-parse --short HEAD`" -verbose ./...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dep:
 | 
					dep:
 | 
				
			||||||
	$(GOCMD) get github.com/mitchellh/gox
 | 
						$(GOCMD) get github.com/necrose99/gox
 | 
				
			||||||
	$(GOCMD) mod download
 | 
						$(GOCMD) mod download
 | 
				
			||||||
 | 
					
 | 
				
			||||||
validate: dep
 | 
					validate: dep
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								go.mod
									
									
									
									
									
								
							@@ -12,6 +12,7 @@ require (
 | 
				
			|||||||
	github.com/kelseyhightower/envconfig v1.4.0
 | 
						github.com/kelseyhightower/envconfig v1.4.0
 | 
				
			||||||
	github.com/milosgajdos/tenus v0.0.3
 | 
						github.com/milosgajdos/tenus v0.0.3
 | 
				
			||||||
	github.com/mitchellh/gox v1.0.1 // indirect
 | 
						github.com/mitchellh/gox v1.0.1 // indirect
 | 
				
			||||||
 | 
						github.com/necrose99/gox v0.4.0 // indirect
 | 
				
			||||||
	github.com/pkg/errors v0.9.1
 | 
						github.com/pkg/errors v0.9.1
 | 
				
			||||||
	github.com/sirupsen/logrus v1.7.0
 | 
						github.com/sirupsen/logrus v1.7.0
 | 
				
			||||||
	github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
 | 
						github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user