forked from alkaline-ml/pmdarima
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
75 lines (55 loc) · 2.11 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# simple makefile to simplify repetitive build env management tasks under posix
# this is adopted from the sklearn Makefile
# caution: testing won't work on windows
PYTHON ?= python
DOCKER ?= docker
HERE = $(shell pwd)
.PHONY: clean develop test install bdist_wheel version
clean:
$(PYTHON) setup.py clean
rm -rf dist
rm -rf build
rm -rf .pytest_cache
rm -rf pmdarima.egg-info
rm -f pmdarima/VERSION
rm -f conda/meta.yaml
rm -rf .coverage.*
deploy-requirements:
$(PYTHON) -m pip install twine readme_renderer[md]
# Depends on an artifact existing in dist/, and two environment variables
deploy-twine-test: bdist_wheel deploy-requirements
$(PYTHON) -m twine upload \
--repository-url https://test.pypi.org/legacy/ dist/* \
--username ${TWINE_USERNAME} \
--password ${TWINE_PASSWORD}
documentation: version
$(DOCKER) run -v $(HERE):/pmdarima -w /pmdarima --rm alkalineml/pmdarima-doc-base:latest /bin/bash -c "make install docker-documentation"
# This one assumes we are in the docker container, so it can either be called from above (locally), or directly (on CI)
docker-documentation: version
@make -C doc clean html EXAMPLES_PATTERN=example_* PMDARIMA_VERSION=$(PMDARIMA_VERSION)
requirements:
$(PYTHON) -m pip install -r requirements.txt
bdist_wheel: version
$(PYTHON) setup.py bdist_wheel
sdist: version
$(PYTHON) setup.py sdist
develop: version
$(PYTHON) setup.py develop
install: version
$(PYTHON) setup.py install
lint-requirements:
$(PYTHON) -m pip install flake8
testing-requirements:
$(PYTHON) -m pip install pytest flake8 matplotlib pytest-mpl coverage pytest-cov codecov
test-lint:
$(PYTHON) -m flake8 pmdarima --filename='*.py' --ignore F401,F403,W293,W504
test-unit:
$(PYTHON) -m pytest -v --durations=20 --cov-config .coveragerc --cov pmdarima -p no:logging
test: test-unit test-lint
# Coverage creates all these random little artifacts we don't want
rm .coverage.* || echo "No coverage artifacts to remove"
twine-check: bdist_wheel deploy-requirements
# Check that twine will parse the README acceptably
$(PYTHON) -m twine check dist/*
version: requirements
@$(PYTHON) build_tools/get_tag.py