-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
85 lines (61 loc) · 3.85 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
DT := $(shell date +%Y.%m.%d.%H.%M.%S)
HASH := $(shell git rev-parse HEAD)
USER := $(shell whoami)
SEMVER := $(shell cat .semver)
KUBECONFIG := ~/.kube/config
name := netmux
version:
echo $(DT) > ./foundation/buildinfo/build-date
cp .semver ./foundation/buildinfo/build-semver
git rev-parse HEAD > ./foundation/buildinfo/build-hash
lint:
find . -name '*.go' | xargs -I{} gofumpt -w {}
golangci-lint run ./...
test:
go test ./...
test-race:
go test -race ./...
docker-img-local-amd64: version
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o ./zarf/docker/netmux/bin/linux/amd64/$(name) ./app/nx-server
- docker rmi -f duxthemux/$(name):latest
docker build -f ./zarf/docker/netmux/Dockerfile -t duxthemux/$(name):latest --platform=linux/arm64 . --load
docker-img-local-arm64: version
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o ./zarf/docker/netmux/bin/linux/arm64/$(name) ./app/nx-server
- docker rmi -f duxthemux/$(name):latest
docker build -f ./zarf/docker/netmux/Dockerfile -t duxthemux/$(name):latest --platform=linux/arm64 . --load
docker-img: version
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o ./zarf/docker/netmux/bin/linux/amd64/$(name) ./app/nx-server
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o ./zarf/docker/netmux/bin/linux/arm64/$(name) ./app/nx-server
upx --best --lzma ./zarf/docker/netmux/bin/linux/amd64/$(name)
upx --best --lzma ./zarf/docker/netmux/bin/linux/arm64/$(name)
- docker rmi -f duxthemux/$(name):latest
docker buildx build -f ./zarf/docker/netmux/Dockerfile -t duxthemux/$(name):latest --platform=linux/arm64,linux/amd64 . --push
my-bins:
go build -ldflags="-s -w" -o zarf/dist/nx ./app/nx-cli
go build -ldflags="-s -w" -o zarf/dist/nx-daemon ./app/nx-daemon
dist-bins:
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o zarf/dist/darwin_arm64/nx ./app/nx-cli
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o zarf/dist/darwin_arm64/nx-daemon ./app/nx-daemon
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o zarf/dist/darwin_amd64/nx ./app/nx-cli
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o zarf/dist/darwin_amd64/nx-daemon ./app/nx-daemon
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o zarf/dist/linux_arm64/nx ./app/nx-cli
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o zarf/dist/linux_arm64/nx-daemon ./app/nx-daemon
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o zarf/dist/linux_amd64/nx ./app/nx-cli
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o zarf/dist/linux_amd64/nx-daemon ./app/nx-daemon
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o zarf/dist/windows_amd64/nx.exe ./app/nx-cli
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o zarf/dist/windows_amd64/nx-daemon.exe ./app/nx-daemon
tar czvfp zarf/dist/netmuxcli-$(SEMVER)-darwin_arm64.tgz -C zarf/dist/darwin_arm64 .
tar czvfp zarf/dist/netmuxcli-$(SEMVER)-darwin_amd64.tgz -C zarf/dist/darwin_amd64 .
tar czvfp zarf/dist/netmuxcli-$(SEMVER)-linux_arm64.tgz -C zarf/dist/linux_arm64 .
tar czvfp zarf/dist/netmuxcli-$(SEMVER)-linux_amd64.tgz -C zarf/dist/linux_amd64 .
cd zarf/dist/windows_amd64 && zip -r ../netmuxcli-$(SEMVER)-windows_amd64.zip . && cd -
# -------------
docker-init-buildx:
docker buildx create --use
sample-server:
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o ./zarf/docker/helpers/sample-service/bin/linux/amd64/service ./zarf/sample-apps/sample-service
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o ./zarf/docker/helpers/sample-service/bin/linux/arm64/service ./zarf/sample-apps/sample-service
upx --best --lzma ./zarf/docker/helpers/sample-service/bin/linux/amd64/service
upx --best --lzma ./zarf/docker/helpers/sample-service/bin/linux/arm64/service
- docker rmi -f duxthemux/sample-service:latest
docker buildx build -f ./zarf/docker/helpers/sample-service/Dockerfile -t duxthemux/sample-service:latest --platform=linux/arm64,linux/amd64 . --push