Fix builds on m1 mac

Ensure that docker images gets build in x64 arch, and use nfpm instead of fpm
This commit is contained in:
Leonid Bugaev
2022-01-12 13:00:23 +03:00
parent 6c89827ba5
commit 9c5f011bb7
3 changed files with 34 additions and 8 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
FROM golang:1.15
FROM golang:1.17
RUN apt-get update && apt-get install ruby vim-common -y
+11 -7
View File
@@ -24,7 +24,7 @@ FPMCOMMON= \
.PHONY: vendor
release: release-x64 release-x86 release-mac release-windows
release: release-x64 release-mac release-windows
vendor:
go mod vendor
@@ -32,9 +32,6 @@ vendor:
release-bin: vendor
docker run --rm -v `pwd`:$(SOURCE_PATH) -t --env GOOS=linux --env GOARCH=amd64 -i $(CONTAINER) go build -mod=vendor -o $(BIN_NAME) -tags netgo $(LDFLAGS)
release-bin-x86: vendor
docker run --rm -v `pwd`:$(SOURCE_PATH) -t --env GOOS=linux --env GOARCH=386 -i $(CONTAINER) go build -mod=vendor -o $(BIN_NAME) -tags netgo $(LDFLAGS)
release-bin-mac: vendor
GOOS=darwin go build -mod=vendor -o $(BIN_NAME) $(MAC_LDFLAGS)
@@ -48,8 +45,8 @@ release-x64: release-bin
cd /tmp/gor-build
rm -f goreplay_$(VERSION)_amd64.deb
rm -f goreplay-$(VERSION)-1.x86_64.rpm
fpm $(FPMCOMMON) -a amd64 -t deb ./=/usr/local/bin
fpm $(FPMCOMMON) -a amd64 -t rpm ./=/usr/local/bin
nfpm pkg --packager deb --target ./
nfpm pkg --packager rpm --target ./
rm -rf /tmp/gor-build
release-x86: release-bin-x86
@@ -70,6 +67,13 @@ release-windows: release-bin-windows
zip gor-$(VERSION)$(PREFIX)_windows.zip ./gor.exe
rm -rf ./gor.exe
clean:
rm -rf *.pkg
rm -rf *.zip
rm -rf *.gz
rm -rf *.deb
rm -rf *.rpm
build:
go build -mod=vendor -o $(BIN_NAME) $(LDFLAGS)
@@ -77,7 +81,7 @@ install:
go install $(MAC_LDFLAGS)
build-env:
docker build -t $(CONTAINER) -f Dockerfile.dev .
docker buildx build --platform linux/amd64 -t $(CONTAINER) -f Dockerfile.dev .
profile:
go build && ./$(BIN_NAME) --output-http="http://localhost:9000" --input-dummy 0 --input-raw :9000 --input-http :9000 --memprofile=./mem.out --cpuprofile=./cpu.out --stats --output-http-stats --output-http-timeout 100ms
+22
View File
@@ -0,0 +1,22 @@
# nfpm example config file
#
# check https://nfpm.goreleaser.com/configuration for detailed usage
#
name: "GoReplay"
arch: "amd64"
platform: "linux"
version: "v1.3.1"
section: "default"
priority: "extra"
provides:
- goreplay
maintainer: "Leonid Bugaev <hello@goreplay.org>"
description: |
GoReplay is the simplest and safest way to test your app using real traffic before you put it into production.
vendor: "GoReplay"
homepage: "https://goreplay.org"
license: "AGPL"
contents:
- src: ./
dst: /usr/local/bin
type: dir