blob: 2dd88647f0315de5010871c60fb2cdd245288c39 [file] [log] [blame]
Giorgi Lekveishvilicefecf12024-02-07 16:15:29 +04001repo_name ?= giolekva
gio2446de02025-04-11 11:20:39 +04002podman ?= docker
3docker_flags=--provenance=false --sbom=false
Giorgi Lekveishvilicefecf12024-02-07 16:15:29 +04004ifeq ($(podman), podman)
5manifest_dest=docker://docker.io/$(repo_name)/url-shortener:latest
6endif
7
8
9clean:
10 rm -f url-shortener*
11
12build_arm64: export CGO_ENABLED=0
13build_arm64: export GO111MODULE=on
14build_arm64: export GOOS=linux
15build_arm64: export GOARCH=arm64
16build_arm64:
17 /usr/local/go/bin/go build -o url-shortener_arm64 *.go
18
19build_amd64: export CGO_ENABLED=0
20build_amd64: export GO111MODULE=on
21build_amd64: export GOOS=linux
22build_amd64: export GOARCH=amd64
23build_amd64:
24 /usr/local/go/bin/go build -o url-shortener_amd64 *.go
25
26push_arm64: clean build_arm64
gio2446de02025-04-11 11:20:39 +040027 $(podman) build --platform linux/arm64 --tag=$(repo_name)/url-shortener:arm64 $(docker_flags) .
Giorgi Lekveishvilicefecf12024-02-07 16:15:29 +040028 $(podman) push $(repo_name)/url-shortener:arm64
29
30push_amd64: clean build_amd64
gio2446de02025-04-11 11:20:39 +040031 $(podman) build --platform linux/amd64 --tag=$(repo_name)/url-shortener:amd64 $(docker_flags) .
Giorgi Lekveishvilicefecf12024-02-07 16:15:29 +040032 $(podman) push $(repo_name)/url-shortener:amd64
33
34push: push_arm64 push_amd64
35 $(podman) manifest create $(repo_name)/url-shortener:latest $(repo_name)/url-shortener:arm64 $(repo_name)/url-shortener:amd64
gio2446de02025-04-11 11:20:39 +040036 $(podman) manifest push --purge $(repo_name)/url-shortener:latest $(manifest_dest)