Skip to content

Commit cf2d066

Browse files
committed
(CI/winnie) simplify code of winnie build script
1 parent a1ebfe5 commit cf2d066

File tree

1 file changed

+125
-145
lines changed

1 file changed

+125
-145
lines changed

ci/winnie/build_pgrouting.sh

Lines changed: 125 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -20,185 +20,164 @@
2020
# File used in Jenkis setup
2121
#-------------------------
2222

23-
JENKINS_DEBUG=1
24-
25-
#-----------------
26-
# variables setup
27-
# Variables recived by jenkins setup
28-
#-----------------
29-
#export OS_BUILD=
30-
#export PG_VER=
31-
#export PGHOST=
32-
#export PGPORT=
33-
#export PGROUTING_VER=
34-
#export POSTIGS_VER=
35-
#GCC_TYPE=
36-
#export GIT_COMMIT=
23+
# Setting defaults
24+
if [[ "${OS_BUILD}" == '' ]] ; then
25+
OS_BUILD=64
26+
fi;
3727

28+
if [[ "${PG_VER}" == '' ]] ; then
29+
PG_VER=14
30+
fi;
31+
32+
if [[ "${PGPORT}" == '' ]] ; then
33+
PGPORT=54613
34+
fi;
35+
36+
if [[ "${PGROUTING_VER}" == '' ]] ; then
37+
PGROUTING_VER=cvvergara
38+
fi;
39+
40+
if [[ "${POSTGIS_VER}" == '' ]] ; then
41+
POSTGIS_VER=3.3.2
42+
fi;
43+
44+
if [[ "${GCC_TYPE}" == '' ]] ; then
45+
GCC_TYPE=gcc81
46+
fi;
47+
48+
if [[ "${BOOST_VER}" == '' ]] ; then
49+
BOOST_VER=1.78.0
50+
fi;
51+
BOOST_VER_WU=$(echo "${BOOST_VER//./_}")
52+
53+
echo "DEBUG ${DEBUG}"
54+
55+
# debugging options
56+
if [[ "$DEBUG" == 'true' ]]
57+
then
58+
JENKINS_DEBUG=1
59+
VERBOSE=ON
60+
BUILD_TYPE=Debug
61+
else
62+
JENKINS_DEBUG=0
63+
VERBOSE=OFF
64+
BUILD_TYPE=Release
65+
fi
66+
67+
TAPTEST=${TAPTEST%%*([[:blank:]])}
68+
TAPTEST=${TAPTEST##*([[:blank:]])}
69+
70+
echo "GIT_COMMIT ${GIT_COMMIT}"
3871

3972
if [ $JENKINS_DEBUG -eq 1 ]
4073
then
41-
#---------------
4274
echo
4375
echo "***************************"
44-
echo Recived variables
76+
echo Recived variables used in this script
4577
echo "**************************"
46-
#---------------
78+
4779
echo "OS_BUILD ${OS_BUILD}"
4880
echo "PG_VER ${PG_VER}"
49-
echo "PGHOST ${PGHOST}"
5081
echo "PGPORT ${PGPORT}"
5182
echo "PGROUTING_VER ${PGROUTING_VER}"
5283
echo "POSTGIS_VER ${POSTGIS_VER}"
5384
echo "GCC_TYPE ${GCC_TYPE}"
54-
echo "GIT_COMMIT ${GIT_COMMIT}"
85+
echo "BOOST_VER ${BOOST_VER}"
86+
echo "calculated BOOST_VER_WU ${BOOST_VER_WU}"
87+
echo "TAPTEST ${TAPTEST}"
88+
echo "DEBUG ${DEBUG}"
5589
fi
5690

57-
#---------------
58-
echo
59-
echo "***************************"
60-
echo Deduced variables
61-
echo "***************************"
62-
#---------------
63-
6491
export PGUSER=postgres
6592
export PROJECTS=/projects
66-
export PGPATHEDB=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE}edb #this is so winnie know's where to copy the dlls for vc++ edb compiled postgresql testing
93+
94+
#this is so winnie know's where to copy the dlls for vc++ edb compiled postgresql testing
95+
export PGPATHEDB=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE}edb
96+
6797
export PGPATH=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE}
68-
export PATHOLD=$PATH
69-
#export PATHOLD="/mingw/bin:/mingw/include:/c/Windows/system32:/c/Windows"
7098
export PGWINVER=${PG_VER}w${OS_BUILD}${GCC_TYPE}edb
71-
export PATH="${PATHOLD}:/usr/bin:${PGPATH}/bin:${PGPATH}/lib:${PGPATH}/include"
99+
export BOOSTROOT_PATH="${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}"
100+
export PATH="${PATH}:/usr/bin:${PGPATH}/bin:${PGPATH}/lib:${PGPATH}/include"
72101
export PATH="${PROJECTS}/rel-libiconv-1.13.1w${OS_BUILD}${GCC_TYPE}/include:${PATH}"
102+
export PATH="${PATH}:${BOOSTROOT_PATH}/lib"
103+
export PATH="${PATH}:/cmake/bin"
104+
export PATH="${PATH}:.:/bin:/include"
105+
73106

74107
if [ $JENKINS_DEBUG -eq 1 ]
75108
then
109+
echo "***************************"
110+
echo Paths
111+
echo "***************************"
112+
76113
echo "PGUSER ${PGUSER}"
77114
echo "PROJECTS ${PROJECTS}"
78115
echo "PGPATHEDB ${PGPATHEDB}"
79116
echo "PGPATH ${PGPATH}"
80-
echo "PATHOLD ${PATHOLD}"
81117
echo "PGWINVER ${PGWINVER}"
82118
echo "PATH ${PATH}"
119+
echo "BOOSTROOT_PATH ${BOOSTROOT_PATH}"
83120
fi
84121

85-
BOOST_VER=1.78.0
86-
BOOST_VER_WU=1_78_0
87-
BOOST_VER_WUM=1_78
88-
ZLIB_VER=1.2.13
89-
echo "${BOOST_VER}"
122+
#---------------
123+
echo "Cleanup ${PGPATH} & ${PGPATHEDB}"
124+
rm -f ${PGPATH}/lib/libpgrouting*
125+
rm -f ${PGPATH}/share/extension/pgrouting*
126+
rm -f ${PGPATHEDB}/lib/libpgrouting*
127+
rm -f ${PGPATHEDB}/share/extension/pgrouting*
90128

91129
if [ $JENKINS_DEBUG -eq 1 ]
92130
then
93-
echo "BOOST_VER_WU ${BOOST_VER_WU}"
94-
echo "BOOST_VER_WUM ${BOOST_VER_WUM}"
95-
echo "ZLIB_VER ${ZLIB_VER}"
131+
echo "${PGPATH} & ${PGPATHEDB} pgrouting related files"
132+
ls ${PGPATH}/lib/libpgrouting* 2>/dev/null
133+
ls ${PGPATH}/share/extension/pgrouting* 2>/dev/null
134+
ls ${PGPATHEDB}/lib/libpgrouting* 2>/dev/null
135+
ls ${PGPATHEDB}/share/extension/pgrouting* 2>/dev/null
96136
fi
97137

98-
#zlib
99-
ZLIB_PATH="${PROJECTS}/zlib/rel-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}"
100-
PATH="${PATH}:${ZLIB_PATH}/include:${ZLIB_PATH}/lib:${ZLIB_PATH}/bin"
101-
102-
#boost
103-
BOOSTROOT_PATH="${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}"
104-
PATH="${PATH}:${BOOSTROOT_PATH}/lib"
105-
106-
#cmake
107-
export PATH="${PATH}:/cmake/bin"
108-
export PATH="${PATH}:.:/bin:/include"
109-
110138
cmake --version
111139

112-
echo "PATH ${PATH}"
113-
114140
cd "${PROJECTS}/pgrouting" || exit 1
141+
DATABASE="___pgr___test___"
142+
PGR_VERSION=$(grep -Po '(?<=project\(PGROUTING VERSION )[^;]+' "branches/${PGROUTING_VER}/CMakeLists.txt")
143+
if [ $JENKINS_DEBUG -eq 1 ]
144+
then
145+
echo "pgRouting VERSION ${PGR_VERSION}"
146+
fi
147+
115148
rm -rf "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}"
116149
mkdir "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}"
117150
cd "build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}" || exit 1
118151

119-
120-
#---------------
121-
echo
122-
echo "***************************"
123-
echo "Current contents of PGPATH ${PGPATH}"
124-
echo "***************************"
125-
#---------------
126-
ls ${PGPATH}/lib/libpgrouting*
127-
ls ${PGPATH}/share/extension/pgrouting*
128-
129-
#---------------
130-
echo
131-
echo "***************************"
132-
echo "Current contents of PGPATHEDB ${PGPATHEDB}"
133-
echo "***************************"
134-
#---------------
135-
ls ${PGPATHEDB}/lib/libpgrouting*
136-
ls ${PGPATHEDB}/share/extension/pgrouting*
137-
138-
rm ${PGPATH}/lib/libpgrouting*
139-
rm ${PGPATH}/share/extension/pgrouting*
140-
rm ${PGPATHEDB}/lib/libpgrouting
141-
rm ${PGPATHEDB}/share/extension/pgrouting*
142-
143-
#---------------
144-
echo
145-
echo "***************************"
146-
echo "After removing in PGPATH ${PGPATH}"
147-
echo "***************************"
148-
#---------------
149-
ls ${PGPATH}/lib/libpgrouting*
150-
ls ${PGPATH}/share/extension/pgrouting*
151-
152-
#---------------
153-
echo
154-
echo "***************************"
155-
echo "After removing in PGPATHEDB ${PGPATHEDB}"
156-
echo "***************************"
157-
#---------------
158-
ls ${PGPATHEDB}/lib/libpgrouting*
159-
ls ${PGPATHEDB}/share/extension/pgrouting*
160-
cmake --version
161-
162-
cmake -G "MSYS Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON \
152+
cmake -G "MSYS Makefiles" -DCMAKE_VERBOSE_MAKEFILE="${VERBOSE}" \
163153
-DBOOST_ROOT:PATH="${BOOSTROOT_PATH}" \
164154
-DBoost_USE_STATIC_LIBS=ON \
165-
-DCMAKE_BUILD_TYPE=Release \
155+
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
166156
"../branches/${PGROUTING_VER}"
167157

168158
#---------------
169159
echo
170160
echo "***************************"
171-
echo make
172-
echo "***************************"
173-
#---------------
174-
make
175-
176-
#---------------
177-
echo
178-
echo "***************************"
179-
echo make install
161+
echo Building and installing
180162
echo "***************************"
181163
#---------------
182164
make install
183165

184-
#---------------
185-
echo
186-
echo "***************************"
187-
echo "Current contents of PGPATH ${PGPATH}"
188-
echo "***************************"
189-
#---------------
190-
ls ${PGPATH}/lib/libpgrouting*
191-
ls ${PGPATH}/share/extension/pgrouting*
166+
if [ $JENKINS_DEBUG -eq 1 ]
167+
then
168+
echo "***************************"
169+
echo "Installation on PGPATH ${PGPATH}"
170+
echo "***************************"
171+
ls ${PGPATH}/lib/libpgrouting*
172+
ls ${PGPATH}/share/extension/pgrouting*
192173

193-
#---------------
194-
echo
195-
echo "***************************"
196-
echo "Current contents of PGPATHEDB ${PGPATHEDB}"
197-
echo Should be empty
198-
echo "***************************"
199-
#---------------
200-
ls ${PGPATHEDB}/lib/libpgrouting*
201-
ls ${PGPATHEDB}/share/extension/pgrouting*
174+
echo "***************************"
175+
echo "Current contents of PGPATHEDB ${PGPATHEDB}"
176+
echo Should be empty
177+
echo "***************************"
178+
ls ${PGPATHEDB}/lib/libpgrouting*
179+
ls ${PGPATHEDB}/share/extension/pgrouting*
180+
fi
202181

203182

204183
#we need uninstall and reinstall copy to VC++ EDB instance if we want to test on standard Windows installed versions
@@ -207,36 +186,37 @@ cp -r ${PGPATH}/lib/libpgrouting*.dll ${PGPATHEDB}/lib/
207186
cp -r ${PGPATH}/share/extension/pgrouting*.sql ${PGPATHEDB}/share/extension/
208187
cp -r ${PGPATH}/share/extension/pgrouting.control ${PGPATHEDB}/share/extension/
209188

210-
#---------------
211-
echo
212-
echo "***************************"
213-
echo "After copying to PGPATHEDB ${PGPATHEDB}"
214-
echo "***************************"
215-
#---------------
216-
ls ${PGPATHEDB}/lib/libpgrouting*
217-
ls ${PGPATHEDB}/share/extension/pgrouting*
189+
if [ $JENKINS_DEBUG -eq 1 ]
190+
then
191+
echo
192+
echo "***************************"
193+
echo "Installation on PGPATHEDB ${PGPATHEDB}"
194+
echo "***************************"
195+
ls ${PGPATHEDB}/lib/libpgrouting*
196+
ls ${PGPATHEDB}/share/extension/pgrouting*
197+
fi
218198

219199
cd "${PROJECTS}/pgrouting/branches/${PGROUTING_VER}" || exit 1
220200

221-
#perl tools/test-runner.pl -pgver ${PG_VER} -pgport "${PGPORT}" -clean
222-
#perl tools/testers/doc_queries_generator.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg common -clean -v
223-
#perl tools/testers/doc_queries_generator.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg dijkstra -clean -v
224-
#perl tools/testers/doc_queries_generator.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg contraction
225-
226-
#perl tools/testers/doc_queries_generator.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}"
201+
echo "***************************"
202+
# Testing
203+
echo "***************************"
227204

228-
if [ "${OS_BUILD}" -eq 32 ]
205+
if [ -n "${TAPTEST}" ]
229206
then
230207

231-
perl tools/testers/doc_queries_generator.pl -pgver "${PG_VER}" -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}"
208+
psql -c "CREATE DATABASE ${DATABASE}"
209+
bash tools/testers/setup_db.sh "${PGPORT}" "${DATABASE}" "${PGUSER}" "${PGR_VERSION}"
210+
pg_prove -v --normalize --directives --recurse -p "${PGPORT}" -d "${DATABASE}" "${TAPTEST}"
211+
psql -c "DROP DATABASE ${DATABASE}"
232212

233-
else
213+
fi
234214

235-
psql -c "CREATE DATABASE ___pgr___test___"
236-
tools/testers/pg_prove_tests.sh "${PGUSER}" "${PGPORT}"
237-
psql -c "DROP DATABASE ___pgr___test___"
238215

239-
fi
216+
psql -c "CREATE DATABASE ${DATABASE}"
217+
tools/testers/pg_prove_tests.sh "${PGUSER}" "${PGPORT}"
218+
psql -c "DROP DATABASE ${DATABASE}"
219+
240220

241221
cd "${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/lib" || exit 1
242222
strip ./*.dll

0 commit comments

Comments
 (0)