-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
137 lines (109 loc) · 3.04 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package=slurm
UNAME=$(shell uname)
VERSION=`head -1 VERSION`
.PHONY: conda
define banner
@echo
@echo "############################################################"
@echo "# $(1) "
@echo "############################################################"
endef
source:
$(call banner, "Install cloudmesh-common")
pip install -e . -U
readme:
cms markdown -p numbers ./README.md
cms man readme -p --toc
cms man readme -p --tag="MANUAL-SLURM" --command=slurm
flake8:
cd ..; flake8 --max-line-length 124 --ignore=E722 cloudmesh-$(package)/cloudmesh
cd ..; flake8 --max-line-length 124 --ignore=E722 cloudmesh-$(package)/tests
pylint:
cd ..; pylint --rcfile=cloudmesh-$(package)/.pylintrc cloudmesh-$(package)/cloudmesh
cd ..; pylint --rcfile=cloudmesh-$(package)/.pylintrc --disable=F0010 cloudmesh-$(package)/tests
requirements:
echo "# cloudmesh-common requirements"> tmp.txt
#echo "cloudmesh-common" > tmp.txt
#echo "cloudmesh-cmd5" >> tmp.txt
# pip-compile setup.py
cat requirements.txt >> tmp.txt
mv tmp.txt requirements.txt
-git commit -m "update requirements" requirements.txt
-git push
test:
pytest -v --html=.report.html
open .report.html
dtest:
pytest -v --capture=no
clean:
$(call banner, "CLEAN")
rm -rf *.zip
rm -rf *.egg-info
rm -rf *.eggs
rm -rf docs/build
rm -rf build
rm -rf dist
find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf
rm -rf .tox
rm -f *.whl
######################################################################
# PYPI
######################################################################
twine:
pip install -U twine
dist:
python setup.py sdist bdist_wheel
twine check dist/*
patch: clean twine
$(call banner, "patch")
bump2version --allow-dirty patch
python setup.py sdist bdist_wheel
git push origin main --tags
twine check dist/*
twine upload --repository testpypi dist/*
# $(call banner, "install")
# pip search "cloudmesh" | fgrep cloudmesh-$(package)
# sleep 10
# pip install --index-url https://test.pypi.org/simple/ cloudmesh-$(package) -U
minor: clean
$(call banner, "minor")
bump2version minor --allow-dirty
@cat VERSION
@echo
release: clean
$(call banner, "release")
git tag "v$(VERSION)"
git push origin main --tags
python setup.py sdist bdist_wheel
twine check dist/*
twine upload --repository pypi dist/*
$(call banner, "install")
@cat VERSION
@echo
# sleep 10
# pip install -U cloudmesh-common
dev:
bump2version --new-version "$(VERSION)-dev0" part --allow-dirty
bump2version patch --allow-dirty
@cat VERSION
@echo
reset:
bump2version --new-version "4.0.0-dev0" part --allow-dirty
upload:
twine check dist/*
twine upload dist/*
pip:
pip install --index-url https://test.pypi.org/simple/ cloudmesh-$(package) -U
# --extra-index-url https://test.pypi.org/simple
log:
$(call banner, log)
gitchangelog | fgrep -v ":dev:" | fgrep -v ":new:" > ChangeLog
git commit -m "chg: dev: Update ChangeLog" ChangeLog
git push
# bump:
# git checkout main
# git pull
# tox
# python setup.py sdist bdist_wheel upload
# bumpversion --no-tag patch
# git push origin main --tags