Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7813ffbc66 | ||
|
|
d28918992a |
+4
-4
@@ -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
|
||||
@@ -83,11 +86,8 @@ COPY --from=builder /frontend/browser /app/frontend
|
||||
# Sync the project
|
||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
||||
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||
--mount=type=bind,source=brewman/uv.lock,target=uv.lock \
|
||||
--mount=type=bind,source=brewman/pyproject.toml,target=pyproject.toml \
|
||||
uv sync --locked
|
||||
uv sync --locked --no-editable
|
||||
|
||||
ENV PYTHONPATH=/app
|
||||
EXPOSE 80
|
||||
|
||||
RUN chmod 777 /app/docker-entrypoint.sh \
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
[project]
|
||||
name = "brewman"
|
||||
dynamic = ["version"]
|
||||
description = "Accounting plus inventory management for a restaurant."
|
||||
requires-python = ">=3.14"
|
||||
authors = [{ name = "tanshu", email = "git@tanshu.com" }]
|
||||
@@ -24,6 +23,7 @@ dependencies = [
|
||||
"sqlalchemy>=2.0.52",
|
||||
"uvicorn[standard]>=0.52.4",
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
@@ -37,12 +37,11 @@ dev = [
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling", "hatch-vcs"]
|
||||
requires = ["hatch-vcs", "hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.version]
|
||||
source = "vcs"
|
||||
raw-options = { root = "..", fallback_version = "0.0.0" }
|
||||
|
||||
[tool.hatch.build.hooks.vcs]
|
||||
version-file = "brewman/_version.py"
|
||||
|
||||
Reference in New Issue
Block a user