diff --git a/Dockerfile b/Dockerfile index 09bb4788..b036cbc9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,6 +69,9 @@ WORKDIR /app/ # Ref: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment 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 # Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers diff --git a/Makefile b/Makefile index 5438efc5..322ae64f 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,13 @@ .PHONY: build-production 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..." @podman manifest rm registry.tanshu.com/brewman:latest 2>/dev/null || true @podman build \ --platform linux/amd64,linux/arm64 \ --manifest registry.tanshu.com/brewman:latest \ --pull \ - .tmp-brewman || (rm -rf .tmp-brewman && exit 1) - @rm -rf .tmp-brewman + --build-arg SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN=$(TAG) \ + git@git.tanshu.com:tanshu/brewman.git#v$(TAG) @echo "Pushing manifests..." @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 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..." @podman manifest rm brewman:test 2>/dev/null || true @podman build \ --platform linux/amd64,linux/arm64 \ --manifest brewman:test \ --pull \ - .tmp-brewman || (rm -rf .tmp-brewman && exit 1) - @rm -rf .tmp-brewman + --build-arg SETUPTOOLS_SCM_PRETEND_VERSION_FOR_BREWMAN=$(TAG) \ + git@git.tanshu.com:tanshu/brewman.git#v$(TAG)