diff --git a/.gitignore b/.gitignore index 82a553aed..d53a2e53c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ release-pilosa-fsck.*.*.tar.gz /tourna.log.* pilosa *.dot +.idea/ diff --git a/Makefile b/Makefile index 101746299..b35b39fee 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ BUILD_TIME := $(shell date -u +%FT%T%z) SHARD_WIDTH = 20 COMMIT := $(shell git describe --exact-match >/dev/null 2>&1 || git rev-parse --short HEAD) LDFLAGS="-X github.com/pilosa/pilosa/v2.Version=$(VERSION) -X github.com/pilosa/pilosa/v2.BuildTime=$(BUILD_TIME) -X github.com/pilosa/pilosa/v2.Variant=$(VARIANT) -X github.com/pilosa/pilosa/v2.Commit=$(COMMIT) -X github.com/pilosa/pilosa/v2.TrialDeadline=$(TRIAL_DEADLINE)" -GO_VERSION=1.15.8 +GO_VERSION=1.16.3 DOCKER_BUILD= # set to 1 to use `docker-build` instead of `build` when creating a release BUILD_TAGS += shardwidth$(SHARD_WIDTH) TEST_TAGS = roaringparanoia @@ -114,12 +114,14 @@ endif # Create release build tarballs for all supported platforms. DEPRECATED: Use `docker-release` release: check-clean generate-statik-docker $(MAKE) release-build GOOS=darwin GOARCH=amd64 + $(MAKE) release-build GOOS=darwin GOARCH=arm64 $(MAKE) release-build GOOS=linux GOARCH=amd64 # Create release build tarballs for all supported platforms. Same as `release`, but without embedded Lattice UI. release-sans-ui: check-clean rm -f statik/statik.go $(MAKE) release-build GOOS=darwin GOARCH=amd64 + $(MAKE) release-build GOOS=darwin GOARCH=arm64 $(MAKE) release-build GOOS=linux GOARCH=amd64 # try (e.g.) internal/clustertests/docker-compose-replication2.yml @@ -187,6 +189,7 @@ generate: generate-protoc generate-statik generate-stringer generate-pql docker-release: $(MAKE) docker-build GOOS=linux GOARCH=amd64 $(MAKE) docker-build GOOS=darwin GOARCH=amd64 + $(MAKE) docker-build GOOS=darwin GOARCH=arm64 # Build a release in Docker docker-build: vendor diff --git a/server/dup.go b/server/dup.go index 63d871054..55c918758 100644 --- a/server/dup.go +++ b/server/dup.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// +build !arm64 +// +build darwin linux,!arm64 package server @@ -20,7 +20,8 @@ import ( "syscall" ) -// dup is an alias for syscall.Dup2 on most platforms or syscall.Dup3 on ARM64 +// dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64, +// linux-amd64, linux-arm or syscall.Dup3 on linux-arm64 func (m *Command) dup(oldfd int, newfd int) error { return syscall.Dup2(oldfd, newfd) } diff --git a/server/dup_arm64.go b/server/dup_arm64.go index 726890fec..bdcc249f0 100644 --- a/server/dup_arm64.go +++ b/server/dup_arm64.go @@ -12,13 +12,16 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build linux,arm64 + package server import ( "syscall" ) -// dup is an alias for syscall.Dup2 on most platforms or syscall.Dup3 on ARM +// dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64, +// linux-amd64, linux-arm or syscall.Dup3 on linux-arm64 func (m *Command) dup(oldfd int, newfd int) error { return syscall.Dup3(oldfd, newfd, 0) }