43 lines
864 B
Makefile
43 lines
864 B
Makefile
# Default, which is handy to run before committing code
|
|
all: fmt lint test
|
|
|
|
# What to have CI systems run
|
|
ci: init lint test
|
|
|
|
# Final pre-flight checks then deploy everywhere!
|
|
shipit: all build staging prod
|
|
|
|
|
|
init:
|
|
poetry install
|
|
|
|
# Everything to get the dev env set up
|
|
dev: init
|
|
|
|
fmt:
|
|
poetry run ruff check --select I --fix # import sorting
|
|
poetry run ruff format
|
|
|
|
lint:
|
|
poetry run ruff check --fix
|
|
|
|
test:
|
|
poetry run mypy .
|
|
poetry run pytest
|
|
|
|
# Faster tests, only running what's changed
|
|
test-fast:
|
|
poetry run mypy .
|
|
poetry run pytest --testmon
|
|
|
|
test-watch:
|
|
find . -name '*py' -or -name '*html' -or -name poetry.lock | entr -r -c make test-fast
|
|
|
|
build:
|
|
poetry build
|
|
|
|
docker:
|
|
podman build -t nickpegg/photojawn . --build-arg GIT_COMMIT=$(shell git rev-parse --short HEAD)
|
|
|
|
pex:
|
|
poetry run pex --project . -o dist/photojawn.pex --scie eager -c photojawn
|