-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
156 lines (126 loc) · 3.39 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package=oracle
UNAME=$(shell uname)
VERSION=`head -1 VERSION`
ifeq ($(UNAME),Linux)
OPEN=gopen
else
OPEN=open
endif
define banner
@echo
@echo "############################################################"
@echo "# $(1) "
@echo "############################################################"
endef
view:
$(OPEN) docs/index.html
doc:
pip install sphinx_rtd_theme
mkdir -p docs
rm -rf sphinx/sphinx-docs/_build/
cd sphinx; sh gen_apidocs.sh
pandoc README.md -o sphinx/sphinx-docs/README.rst
pandoc README-Scikitlearn.md -o sphinx/sphinx-docs/README-Scikitlearn.rst
pandoc README.md -o docs/README.rst
cd sphinx/sphinx-docs; make html
cp -r sphinx/sphinx-docs/_build/html/* docs
rm -rf sphinx/sphinx-docs/_build/
touch docs/.nojekyll
doc-real:
mkdir -p docs
cd sphinx; gen_apidoc.sh
cp sphinx/sphinx_docs/_build/html/docs
source:
cd ../cloudmesh-common; make source
$(call banner, "Install cloudmesh-cmd5")
pip install -e . -U
cms help
requirements:
echo "cloudmesh-common" > tmp.txt
echo "cloudmesh-cmd5" >> tmp.txt
pip-compile setup.py
fgrep -v "# via" requirements.txt | fgrep -v "cloudmesh" >> tmp.txt
mv tmp.txt requirements.txt
git commit -m "update requirements" requirements.txt
git push
clean:
$(call banner, "CLEAN")
rm -rf dist
rm -rf *.zip
rm -rf *.egg-info
rm -rf *.eggs
rm -rf docs/build
rm -rf build
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
$(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")
# 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
######################################################################
# DOCKER
######################################################################
image:
docker build -t cloudmesh/cmd5:1.0 .
shell:
docker run --rm -it cloudmesh/cmd5:1.0 /bin/bash
cms:
docker run --rm -it cloudmesh/cmd5:1.0
dockerclean:
-docker kill $$(docker ps -q)
-docker rm $$(docker ps -a -q)
-docker rmi $$(docker images -q)
push:
docker push cloudmesh/cmd5:1.0
run:
docker run cloudmesh/cmd5:1.0 /bin/sh -c "cd technologies; git pull; make"