Trying a better build system.
This commit is contained in:
@@ -69,6 +69,9 @@ WORKDIR /app/
|
|||||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment
|
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment
|
||||||
ENV PATH="/app/.venv/bin:$PATH"
|
ENV PATH="/app/.venv/bin:$PATH"
|
||||||
|
|
||||||
|
# Pass version from Makefile to setuptools-scm since .git is not in context
|
||||||
|
ARG SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN
|
||||||
|
ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN=$SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
||||||
|
|||||||
@@ -1,17 +1,13 @@
|
|||||||
.PHONY: build-production
|
.PHONY: build-production
|
||||||
build-production: ## Build the production container image. Usage: make build-production TAG=15.4.0
|
build-production: ## Build the production container image. Usage: make build-production TAG=15.4.0
|
||||||
@echo "Cloning repository..."
|
|
||||||
@rm -rf .tmp-brewman
|
|
||||||
@git clone --depth 1 $(if $(TAG),--branch v$(TAG)) git@git.tanshu.com:tanshu/brewman.git .tmp-brewman
|
|
||||||
|
|
||||||
@echo "Building image..."
|
@echo "Building image..."
|
||||||
@podman manifest rm registry.tanshu.com/brewman:latest 2>/dev/null || true
|
@podman manifest rm registry.tanshu.com/brewman:latest 2>/dev/null || true
|
||||||
@podman build \
|
@podman build \
|
||||||
--platform linux/amd64,linux/arm64 \
|
--platform linux/amd64,linux/arm64 \
|
||||||
--manifest registry.tanshu.com/brewman:latest \
|
--manifest registry.tanshu.com/brewman:latest \
|
||||||
--pull \
|
--pull \
|
||||||
.tmp-brewman || (rm -rf .tmp-brewman && exit 1)
|
--build-arg SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN=$(TAG) \
|
||||||
@rm -rf .tmp-brewman
|
git@git.tanshu.com:tanshu/brewman.git#v$(TAG)
|
||||||
|
|
||||||
@echo "Pushing manifests..."
|
@echo "Pushing manifests..."
|
||||||
@podman manifest push --all registry.tanshu.com/brewman:latest docker://registry.tanshu.com/brewman:latest
|
@podman manifest push --all registry.tanshu.com/brewman:latest docker://registry.tanshu.com/brewman:latest
|
||||||
@@ -19,15 +15,11 @@ build-production: ## Build the production container image. Usage: make build-pro
|
|||||||
|
|
||||||
.PHONY: build-check
|
.PHONY: build-check
|
||||||
build-check: ## Multi-arch build without push (compile check). Usage: make build-check TAG=15.4.0
|
build-check: ## Multi-arch build without push (compile check). Usage: make build-check TAG=15.4.0
|
||||||
@echo "Cloning repository..."
|
|
||||||
@rm -rf .tmp-brewman
|
|
||||||
@git clone --depth 1 $(if $(TAG),--branch v$(TAG)) git@git.tanshu.com:tanshu/brewman.git .tmp-brewman
|
|
||||||
|
|
||||||
@echo "Building image..."
|
@echo "Building image..."
|
||||||
@podman manifest rm brewman:test 2>/dev/null || true
|
@podman manifest rm brewman:test 2>/dev/null || true
|
||||||
@podman build \
|
@podman build \
|
||||||
--platform linux/amd64,linux/arm64 \
|
--platform linux/amd64,linux/arm64 \
|
||||||
--manifest brewman:test \
|
--manifest brewman:test \
|
||||||
--pull \
|
--pull \
|
||||||
.tmp-brewman || (rm -rf .tmp-brewman && exit 1)
|
--build-arg SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN=$(TAG) \
|
||||||
@rm -rf .tmp-brewman
|
git@git.tanshu.com:tanshu/brewman.git#v$(TAG)
|
||||||
|
|||||||
Reference in New Issue
Block a user