mirror of
https://github.com/Octops/quake-kube.git
synced 2026-04-05 17:20:33 +00:00
This makes use of the docker buildx to cross-compile images for amd64/arm64. It is worth noting that there are ongoing issues with the Go compiler and qemu (used by buildx/buildkit) and the solution I ended up using here was to limit the affinity to `go build`. Better solutions may be forthcoming. Refs: https://github.com/golang/go/issues/24656 https://bugs.launchpad.net/qemu/+bug/1696773 This relates to issue #11 regarding container images built for running on Raspberry Pi.
22 lines
628 B
Makefile
22 lines
628 B
Makefile
BIN_DIR ?= bin
|
|
LDFLAGS := -s -w
|
|
GOFLAGS = -gcflags "all=-trimpath=$(PWD)" -asmflags "all=-trimpath=$(PWD)"
|
|
GO_BUILD_ENV_VARS := GO111MODULE=on CGO_ENABLED=0
|
|
|
|
q3: gen
|
|
@$(GO_BUILD_ENV_VARS) go build -o $(BIN_DIR)/q3 $(GOFLAGS) -ldflags '$(LDFLAGS)' ./cmd/q3
|
|
|
|
gen: ## Generate and embed templates
|
|
@go run tools/genstatic.go public public
|
|
|
|
VERSION ?= v1.0.3
|
|
IMAGE ?= docker.io/criticalstack/quake:$(VERSION)
|
|
|
|
.PHONY: build
|
|
build:
|
|
@docker build . --force-rm --build-arg GOPROXY --build-arg GOSUMDB -t $(IMAGE)
|
|
|
|
.PHONY: buildx
|
|
buildx:
|
|
@docker buildx build . --platform=linux/amd64,linux/arm64 --progress=auto -t $(IMAGE) --push
|