blob: bd7861887d2c6de1656006e3d8b6213438954a06 [file] [log] [blame]
gioe72b54f2024-04-22 10:44:41 +04001repo_name ?= dtabidze
2podman ?= docker
3ifeq ($(podman), podman)
giof6ad2982024-08-23 17:42:49 +04004manifest_dest=docker://docker.io/$(repo_name)/dns-api:latest
gioe72b54f2024-04-22 10:44:41 +04005endif
6
7clean:
8 rm -f dns-api*
9
10# TODO(gio): fix go path
11build:
12 /usr/local/go/bin/go build -o dns-api *.go
13
14build_arm64: export CGO_ENABLED=0
15build_arm64: export GO111MODULE=on
16build_arm64: export GOOS=linux
17build_arm64: export GOARCH=arm64
18build_arm64:
19 /usr/local/go/bin/go build -o dns-api_arm64 *.go
20
21build_amd64: export CGO_ENABLED=0
22build_amd64: export GO111MODULE=on
23build_amd64: export GOOS=linux
24build_amd64: export GOARCH=amd64
25build_amd64:
26 /usr/local/go/bin/go build -o dns-api_amd64 *.go
27
28push_arm64: clean build_arm64
29 $(podman) build --platform linux/arm64 --tag=giolekva/dns-api:arm64 .
30 $(podman) push giolekva/dns-api:arm64
31
32push_amd64: clean build_amd64
33 $(podman) build --platform linux/amd64 --tag=giolekva/dns-api:amd64 .
34 $(podman) push giolekva/dns-api:amd64
35
36push: push_arm64 push_amd64
37 $(podman) manifest create giolekva/dns-api:latest giolekva/dns-api:arm64 giolekva/dns-api:amd64
38 $(podman) manifest push giolekva/dns-api:latest $(manifest_dest)
39 $(podman) manifest rm giolekva/dns-api:latest