-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
60 lines (47 loc) · 1.31 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
ifeq (${OS},Windows_NT)
PYTHON_SYS := python.exe
PYTHON := Scripts/python.exe
else
PYTHON_SYS := python3
PYTHON := bin/python
endif
ifeq (${VERSION},)
export VERSION = $(shell date --utc -Iseconds | sed 's/://g; s/+.*//')
endif
ifeq (${DOCKER_PREFIX},)
export DOCKER_PREFIX := local/webcui/
endif
PYTHON := poetry run python
.PHONY: build docker test
build:
poetry build
docker: docker/deployenv.dockerimage docker/webcui.dockerimage
%.dockerimage: %.docker
$(eval IMG=$(DOCKER_PREFIX)$(*F))
docker pull $(IMG):latest || true
docker build -t $(IMG):latest -t $(IMG):$(VERSION) -f $< .
#docker push $(IMG):$(VERSION) || true
#docker push $(IMG):latest || true
docker: $(obj)
devenv:
$(PYTHON_SYS) -m pip install --user pipx
pipx install poetry
poetry install
test:
poetry run python -m pytest -s --tb=native test
publish: build
poetry publish
shell:
poetry shell
clean:
rm -rf dist
find . -name webcui.egg-info | xargs rm -rf
find . -name __pycache__ | xargs rm -rf
docker ps -f label=org.pypi.webcui -q | xargs -r docker kill
docker ps -f label=org.pypi.webcui -qa | xargs -r docker rm
xclean: clean
docker images -qa $(DOCKER_PREFIX)\* | xargs -r docker rmi -f
dockerclean:
docker ps -q | xargs -r docker kill
docker ps -qa | xargs -r docker rm
docker images -qa | xargs -r docker rmi -f