cf854a2ace
Replace hardcoded version in pyproject.toml with hatch-vcs so the package version is read from git tags at build time. Dockerfile accepts a VERSION build arg and passes it as HATCH_VCS_PRETEND_VERSION for builds without a git checkout. Makefile _tag target now rebuilds the container with the correct version automatically.
72 lines
1.6 KiB
Makefile
72 lines
1.6 KiB
Makefile
.PHONY: build install dev clean test lint format docker-build docker-up docker-down docker-logs docker-rebuild docker-clean docker-restart
|
|
|
|
build:
|
|
docker build --no-cache -t artifactapi:latest .
|
|
|
|
install: build
|
|
|
|
docker-build: build
|
|
|
|
dev: build
|
|
uv sync --dev
|
|
|
|
clean:
|
|
rm -rf .venv
|
|
rm -rf build/
|
|
rm -rf dist/
|
|
rm -rf *.egg-info/
|
|
|
|
test:
|
|
uv run pytest
|
|
|
|
lint:
|
|
uv run ruff check --fix .
|
|
|
|
format:
|
|
uv run ruff format .
|
|
|
|
run:
|
|
uv run python -m src.artifactapi.main
|
|
|
|
docker-up:
|
|
docker-compose up --build --force-recreate -d
|
|
|
|
docker-down:
|
|
docker-compose down
|
|
|
|
docker-logs:
|
|
docker-compose logs -f
|
|
|
|
docker-rebuild:
|
|
docker-compose build --no-cache
|
|
|
|
docker-clean:
|
|
docker-compose down -v --remove-orphans
|
|
docker system prune -f
|
|
|
|
docker-restart: docker-down docker-up
|
|
|
|
# Bump helpers — reads the latest semver tag and creates the next one.
|
|
# If no tag exists yet, starts from v0.0.0.
|
|
_LATEST := $(shell git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$$' | head -1)
|
|
_BASE := $(if $(_LATEST),$(_LATEST),v0.0.0)
|
|
_MAJ := $(shell echo $(_BASE) | sed 's/^v//' | cut -d. -f1)
|
|
_MIN := $(shell echo $(_BASE) | sed 's/^v//' | cut -d. -f2)
|
|
_PAT := $(shell echo $(_BASE) | sed 's/^v//' | cut -d. -f3)
|
|
|
|
patch:
|
|
@NEW=v$(_MAJ).$(_MIN).$(shell expr $(_PAT) + 1); \
|
|
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW
|
|
|
|
minor:
|
|
@NEW=v$(_MAJ).$(shell expr $(_MIN) + 1).0; \
|
|
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW
|
|
|
|
major:
|
|
@NEW=v$(shell expr $(_MAJ) + 1).0.0; \
|
|
git tag $$NEW && echo "Tagged $$NEW" && $(MAKE) _tag TAG=$$NEW
|
|
|
|
_tag:
|
|
git push origin $(TAG)
|
|
docker-compose build --no-cache --build-arg VERSION=$(TAG:v%=%)
|