forked from Botanical/BotanJS
Deprecating old approach
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
IMAGE_NAME ?= botanjs
|
||||
IMAGE_TAG ?= dev
|
||||
|
||||
JS_SRC_DIR ?= ./botanjs/src
|
||||
GO_SRC_DIR ?= ./botanres-go
|
||||
BUILDX_BUILDER ?= container-builder
|
||||
BUILDINFO_FILE := internal/generated/buildinfo_gen.go
|
||||
|
||||
ensure-buildx:
|
||||
@if ! docker buildx inspect $(BUILDX_BUILDER) >/dev/null 2>&1; then \
|
||||
echo "Creating buildx builder $(BUILDX_BUILDER)..."; \
|
||||
docker buildx create \
|
||||
--name $(BUILDX_BUILDER) \
|
||||
--driver docker-container \
|
||||
--driver-opt network=host \
|
||||
--bootstrap --use; \
|
||||
else \
|
||||
echo "Using existing buildx builder $(BUILDX_BUILDER)"; \
|
||||
docker buildx use $(BUILDX_BUILDER); \
|
||||
fi
|
||||
|
||||
.buildinfo:
|
||||
@mkdir -p $(dir $(BUILDINFO_FILE))
|
||||
@printf '%s\n' \
|
||||
'package generated' \
|
||||
'' \
|
||||
'const (' \
|
||||
' IMAGE_TAG = "$(IMAGE_TAG)"' \
|
||||
' Timestamp = "'$$(TZ=UTC date +%Y%m%d.%H%M%S)'"' \
|
||||
')' \
|
||||
> $(BUILDINFO_FILE)
|
||||
|
||||
gen:
|
||||
docker build \
|
||||
-f $(GO_SRC_DIR)/dockerfiles/gen.Dockerfile \
|
||||
--output type=local,dest=$(GO_SRC_DIR)/internal/generated .
|
||||
|
||||
build: .buildinfo ensure-buildx gen
|
||||
docker build \
|
||||
-f $(GO_SRC_DIR)/dockerfiles/api.Dockerfile \
|
||||
--load \
|
||||
-t $(IMAGE_NAME):$(IMAGE_TAG) .
|
||||
|
||||
push: .buildinfo ensure-buildx gen
|
||||
docker buildx build \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
-f $(GO_SRC_DIR)/dockerfiles/api.Dockerfile \
|
||||
-t $(IMAGE_NAME):$(IMAGE_TAG) \
|
||||
--push .
|
||||
|
||||
inspect:
|
||||
docker buildx imagetools inspect $(IMAGE_NAME):$(IMAGE_TAG)
|
||||
|
||||
.PHONY: push build .buildinfo gen
|
||||
Reference in New Issue
Block a user