-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathMakefile
More file actions
77 lines (61 loc) · 3.82 KB
/
Makefile
File metadata and controls
77 lines (61 loc) · 3.82 KB
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
RELEASE_VERSION=1.17.6
LD_FLAGS="-s -w -X main.agentVersion=${RELEASE_VERSION}"
build-windows:
GOOS=windows CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-windows-agent.exe cmd/host-agent/main.go
build-linux:
GOOS=linux CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-host-agent cmd/host-agent/main.go
build-darwin-amd64:
GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go build -ldflags=${LD_FLAGS} -o build/mw-host-agent cmd/host-agent/main.go
build-darwin-arm64:
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -ldflags=${LD_FLAGS} -o build/mw-host-agent cmd/host-agent/main.go
build-linux-amd64:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-host-agent-amd64 cmd/host-agent/main.go
build-linux-arm64:
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-host-agent-arm64 cmd/host-agent/main.go
build-kube:
GOOS=linux CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-kube-agent cmd/kube-agent/main.go
build-synthetics:
GOOS=linux CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-synthetics cmd/synthetics/main.go
build-opsai:
GOOS=linux CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-opsai cmd/opsai/main.go
build-kube-config-updater:
CGO_ENABLED=0 go build -ldflags=${LD_FLAGS} -o build/mw-kube-agent-config-updater cmd/kube-config-updater/main.go
build: build-linux build-windows build-kube
package-windows: build-windows
makensis -DVERSION=${RELEASE_VERSION} package-tooling/windows/package-windows.nsi
package-linux-deb: build-linux-amd64 build-linux-arm64
act -W .github/workflows/host-agent-deb-apt.yaml --input release_version=${RELEASE_VERSION} --container-options "-v ${PWD}/build:${PWD}/build"
package-linux-rpm: build-linux-amd64 build-linux-arm64
act -W .github/workflows/host-agent-rpm.yaml --input release_version=${RELEASE_VERSION} --input release_number=1 --container-options "-v ${PWD}/build:${PWD}/build -v${PWD}/build:/root/build"
package-linux: package-linux-deb package-linux-rpm package-linux-docker
package-linux-docker:
docker build . --target build --build-arg GITHUB_TOKEN=$(GH_TOKEN) -t ghcr.io/middleware-labs/mw-agent:local -f Dockerfiles/DockerfileLinux
package-kube-docker:
docker build -f Dockerfiles/DockerfileKube.base --build-arg APP_BINARY=mw-kube-agent -t ghcr.io/middleware-labs/mw-kube-agent:${RELEASE_VERSION} .
package-opsai-docker:
docker build -f Dockerfiles/DockerfileKube.base --build-arg APP_BINARY=mw-opsai -t ghcr.io/middleware-labs/mw-kube-agent-opsai:${RELEASE_VERSION} .
package-synthetics-docker:
docker build -f Dockerfiles/DockerfileKube.base --build-arg APP_BINARY=mw-synthetics -t ghcr.io/middleware-labs/mw-kube-agent-synthetics:${RELEASE_VERSION} .
package-kube-docker-local:
docker build -f Dockerfiles/DockerfileKubeLocal.base --build-arg APP_BINARY=mw-kube-agent -t ghcr.io/middleware-labs/mw-kube-agent:${RELEASE_VERSION} .
package-opsai-docker-local:
docker build -f Dockerfiles/DockerfileKubeLocal.base --build-arg APP_BINARY=mw-opsai -t ghcr.io/middleware-labs/mw-kube-agent-opsai:${RELEASE_VERSION} .
package-synthetics-docker-local:
docker build -f Dockerfiles/DockerfileKubeLocal.base --build-arg APP_BINARY=mw-synthetics -t ghcr.io/middleware-labs/mw-kube-agent-synthetics:${RELEASE_VERSION} .
package-kube-config-updater:
docker buildx build . --push --platform linux/arm64,linux/amd64 --target prod --build-arg GITHUB_TOKEN=$(GH_TOKEN) --build-arg AGENT_VERSION=${RELEASE_VERSION} -t ghcr.io/middleware-labs/mw-kube-agent-config-updater:${RELEASE_VERSION} -f Dockerfiles/DockerfileKubeConfigUpdater
package-darwin: build-darwin-arm64
package-tooling/darwin/create_installer.sh ${RELEASE_VERSION}
package: package-windows package-linux
clean:
go clean
rm mw-host-agent
rm mw-windows-agent
test:
go test ./...
test_coverage:
go test ./... -coverprofile=coverage.out
vet:
go vet
lint:
golangci-lint run