blob: 3135f4adbf4c1b4c14f42ba470102ea573e84f06 [file] [log] [blame]
gio721c0042025-04-03 11:56:36 +04001repo_name ?= giolekva
Giorgi Lekveishvilib59b7c22024-04-03 22:17:50 +04002podman ?= docker
gio2446de02025-04-11 11:20:39 +04003docker_flags=--provenance=false --sbom=false
Giorgi Lekveishvilib59b7c22024-04-03 22:17:50 +04004ifeq ($(podman), podman)
5manifest_dest=docker://docker.io/$(repo_name)/port-allocator:latest
6endif
7
8clean:
9 rm -f server*
10
11build: export CGO_ENABLED=0
12build: clean
13 /usr/local/go/bin/go build -o server *.go
14
15test: export CGO_ENABLED=0
16test:
17 /usr/local/go/bin/go test ./...
18
19test: export CGO_ENABLED=0
20testv:
21 /usr/local/go/bin/go test -v ./...
22
23build_arm64: export CGO_ENABLED=0
24build_arm64: export GO111MODULE=on
25build_arm64: export GOOS=linux
26build_arm64: export GOARCH=arm64
27build_arm64:
28 /usr/local/go/bin/go build -o server_arm64 *.go
29
30build_amd64: export CGO_ENABLED=0
31build_amd64: export GO111MODULE=on
32build_amd64: export GOOS=linux
33build_amd64: export GOARCH=amd64
34build_amd64:
35 /usr/local/go/bin/go build -o server_amd64 *.go
36
37push_arm64: clean build_arm64
gio2446de02025-04-11 11:20:39 +040038 $(podman) build --platform linux/arm64 --tag=$(repo_name)/port-allocator:arm64 $(docker_flags) .
Giorgi Lekveishvilib59b7c22024-04-03 22:17:50 +040039 $(podman) push $(repo_name)/port-allocator:arm64
40
41push_amd64: clean build_amd64
gio2446de02025-04-11 11:20:39 +040042 $(podman) build --platform linux/amd64 --tag=$(repo_name)/port-allocator:amd64 $(docker_flags) .
Giorgi Lekveishvilib59b7c22024-04-03 22:17:50 +040043 $(podman) push $(repo_name)/port-allocator:amd64
44
45push: push_arm64 push_amd64
46 $(podman) manifest create $(repo_name)/port-allocator:latest $(repo_name)/port-allocator:arm64 $(repo_name)/port-allocator:amd64
gio2446de02025-04-11 11:20:39 +040047 $(podman) manifest push --purge $(repo_name)/port-allocator:latest $(manifest_dest)