-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_python_pkgs.sh
executable file
·161 lines (119 loc) · 3.18 KB
/
build_python_pkgs.sh
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
157
158
159
160
#!/bin/bash
PY_PKGS_DIR=$1
SRC_ROOT=$2
# PY_PKGS_DIR=${HOME}/tmp/debs
# SRC_ROOT=${HOME}/src
DEBUG_PY=0
. globals
mkdir -p ${PY_PKGS_DIR}
# moved to be set up in base docker image to build from:
# pip install wheel twine six pytest coverage
# pip install cffi xarray numpy pandas matplotlib jsonpickle
# seaborn?
SUDOCMD=
SUDOCMD=sudo
_build_py_pkg () {
if [ ! -e ${PKG_SRC} ]; then
echo "FAILED: directory not found: $PKG_SRC";
exit 1;
fi
cd $PKG_SRC
# TODO: placeholder where we should have the unit tests running.
mkdir -p dist
rm dist/*
python3 setup.py sdist bdist_wheel
if [ $? == 0 ]; then
echo "OK: built python package $PKG_SRC";
rm dist/*.tar
return 0;
else
echo "FAILED: building python package $PKG_SRC";
# cd ${SRC}
# if [ $DEBUG_PY == 0 ]; then
# rm -rf ${DEST_PKG}/*
# else
# echo "DEBUG active: leaving directory $DEST_PKG";
# fi
exit 1;
fi
}
# pip_option="--upgrade"
pip_option=""
#########################################################
SRC=${SRC_ROOT}/pyrefcount
PKG_SRC=${SRC}
_build_py_pkg
if [ ! $? == 0 ]; then
exit 1;
else
echo "OK: copying python wheel to ${PY_PKGS_DIR}";
cp ${PKG_SRC}/dist/*.whl ${PY_PKGS_DIR}/
fi
${SUDOCMD} pip install ${pip_option} ${PKG_SRC}/dist/*.whl
#########################################################
SRC=${SRC_ROOT}/c-interop
PKG_SRC=${SRC}/bindings/python/cinterop
_build_py_pkg
if [ ! $? == 0 ]; then
exit 1;
else
echo "OK: copying python wheel to ${PY_PKGS_DIR}";
cp ${PKG_SRC}/dist/*.whl ${PY_PKGS_DIR}/
fi
${SUDOCMD} pip install ${pip_option} ${PKG_SRC}/dist/*.whl
#########################################################
SRC=${SRC_ROOT}/datatypes
PKG_SRC=${SRC}/bindings/python/uchronia
_build_py_pkg
if [ ! $? == 0 ]; then
exit 1;
else
echo "OK: copying python wheel to ${PY_PKGS_DIR}";
cp ${PKG_SRC}/dist/*.whl ${PY_PKGS_DIR}/
fi
${SUDOCMD} pip install ${pip_option} ${PKG_SRC}/dist/*.whl
cd $PKG_SRC
coverage run -m pytest
if [ ! $? == 0 ]; then
exit 1;
else
echo "OK: uchronia unit tests";
fi
#########################################################
SRC=${SRC_ROOT}/swift
PKG_SRC=${SRC}/bindings/python/swift2
_build_py_pkg
if [ ! $? == 0 ]; then
exit 1;
else
echo "OK: copying python wheel to ${PY_PKGS_DIR}";
cp ${PKG_SRC}/dist/*.whl ${PY_PKGS_DIR}/
fi
${SUDOCMD} pip install ${pip_option} ${PKG_SRC}/dist/*.whl
# cd $PKG_SRC
# coverage run -m pytest
# if [ ! $? == 0 ]; then
# exit 1;
# else
# echo "OK: swift2 unit tests";
# fi
cd $PKG_SRC/notebooks
python3 minimal_unit_test.py
if [ ! $? == 0 ]; then
echo "FAILED: swift2 python3 minimal_unit_test.py";
exit 1;
else
echo "OK: swift2 python3 minimal_unit_test.py";
fi
#########################################################
SRC=${SRC_ROOT}/qpp
PKG_SRC=${SRC}/bindings/python/fogss
_build_py_pkg
if [ ! $? == 0 ]; then
exit 1;
else
echo "OK: copying python wheel to ${PY_PKGS_DIR}";
cp ${PKG_SRC}/dist/*.whl ${PY_PKGS_DIR}/
fi
${SUDOCMD} pip install ${pip_option} ${PKG_SRC}/dist/*.whl
#########################################################