2d0e2c64e6
- tests/: 107 unit tests across config, cache, docker_auth, storage, and FastAPI routes; all passing under pytest-asyncio auto mode - tox.ini: runs pytest via uvx --with tox-uv tox (py311) - .pre-commit-config.yaml: ruff lint + ruff-format at v0.15.12 - pyproject.toml: pytest config (asyncio_mode=auto), ruff config (line-length=140), tox/pre-commit added to dev extras - Makefile: test/tox/pre-commit targets via uvx --python 3.11 - Source files reformatted by ruff-format (no logic changes)
78 lines
1.8 KiB
Makefile
78 lines
1.8 KiB
Makefile
.PHONY: build install dev clean test lint format pre-commit tox 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:
|
|
uvx --python 3.11 --with tox-uv tox
|
|
|
|
tox:
|
|
uvx --python 3.11 --with tox-uv tox
|
|
|
|
pre-commit:
|
|
uvx --python 3.11 pre-commit run --all-files
|
|
|
|
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%=%)
|