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
3972if [ $JENKINS_DEBUG -eq 1 ]
4073then
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} "
5589fi
5690
57- # ---------------
58- echo
59- echo " ***************************"
60- echo Deduced variables
61- echo " ***************************"
62- # ---------------
63-
6491export PGUSER=postgres
6592export 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+
6797export 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"
7098export 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"
72101export 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
74107if [ $JENKINS_DEBUG -eq 1 ]
75108then
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} "
83120fi
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
91129if [ $JENKINS_DEBUG -eq 1 ]
92130then
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
96136fi
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-
110138cmake --version
111139
112- echo " PATH ${PATH} "
113-
114140cd " ${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+
115148rm -rf " build${PGROUTING_VER} w${OS_BUILD}${GCC_TYPE} "
116149mkdir " build${PGROUTING_VER} w${OS_BUILD}${GCC_TYPE} "
117150cd " 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# ---------------
169159echo
170160echo " ***************************"
171- echo make
172- echo " ***************************"
173- # ---------------
174- make
175-
176- # ---------------
177- echo
178- echo " ***************************"
179- echo make install
161+ echo Building and installing
180162echo " ***************************"
181163# ---------------
182164make 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/
207186cp -r ${PGPATH} /share/extension/pgrouting* .sql ${PGPATHEDB} /share/extension/
208187cp -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
219199cd " ${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} " ]
229206then
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
241221cd " ${PROJECTS} /pgrouting/build${PGROUTING_VER} w${OS_BUILD}${GCC_TYPE} /lib" || exit 1
242222strip ./* .dll
0 commit comments